web-dev-qa-db-ja.com

Ajaxリクエストの完了時に甘いアラートを閉じる方法

使っています Sweet-alert in my angular app。

function GetDataFromServer(url) {
        SweetAlert.swal(
    {
        title: "",
        text: "Please wait.",
        imageUrl: "../../app/app-img/loading_spinner.gif",
        showConfirmButton: false
    });
        return $http.get(url)
        .then(success)
        .catch(exception);
        function success(response) {
            //SweetAlert.swal(
            //  {
            //      title: "",
            //      text: "data loaded",
            //  });
            return response.data;
        }
        function exception(ex) {
            return (ex);
        }

    }

Req#1(この投稿の主な目的)

私が探しているのは、ajaxリクエストが完了するとき、つまりコントロールがthen()に入るとき、Sweetアラートは自動的に非表示になります。

Req#2また、リクエストの処理中に、スイートアラートに[閉じる]ポップアップボタン([OK]ボタン)を含めたくありません。

enter image description here ドキュメントによると、showConfirmButton: falseは非表示にする必要がありますが、非表示ではありません。

どんな助け/提案も高く評価されます。
ありがとう。

8
Kgn-web

ポップオーバーが完了したときに自動的に非表示にするには、最初のポップオーバーを変数に設定して、後でアクセスできるようにする必要があります。多分:

function GetDataFromServer(url) {
    SweetAlert.swal({
        title: "",
        text: "Please wait.",
        imageUrl: "../../app/app-img/loading_spinner.gif",
        showConfirmButton: false
    });
    return $http.get(url)
    .then(success)
    .catch(exception);
    function success(response) {
        swal.close()
        return response.data;
    }
    function exception(ex) {
        return (ex);
    }

}

右下にあります: https://t4t5.github.io/sweetalert/ 下部のメソッドセクションにあります。

Okボタンを非表示にする特定の「方法」がなく、提案を探しているだけなので、常に小さなCSSを使用してターゲットにし、ol display: none; セットアップ。

16
Eric Hodonsky

スイートオブジェクトに対してcloseメソッドを使用できます。下の部分のドキュメントを参照してください。

https://t4t5.github.io/sweetalert/

swal.close(); ->現在開いているSweetAlertをプログラムで閉じます。

self.showProgress = function(message) {
  swal({ title: message });
  swal.showLoading();
};

self.hideProgress = function() {
  swal.close();
};
5
sur97c

http://t4t5.github.io/sweetalert/ のドキュメントを確認すると、SweetAlertにはcloseメソッドがあります。

SweetAlert.close()を使用して、スイートアラートを角度で閉じることができます。

4
erdimeola

angle-sweetalertとして知られるAngularJSライブラリを使用している場合は、swal.close()を使用します。警告ウィンドウを閉じます。 angle-sweetalertは、コアsweetalertライブラリパッケージのラッパーです。

2
user1419261

swalsync関数では機能しません(例:get)、get asyncを呼び出す必要があります

swal({
    type: 'warning',
    text: 'Please wait.',
    showCancelButton: false,
    confirmButtonText: "ok",
    allowOutsideClick: false,
    allowEscapeKey: false
}).then(function (result) {
    if (result) {

        setTimeout(function () {
            $http.get(url)
        }, 500);
    }
});
1