2017-07-07 83 views
3

我在我的角度應用中使用了Sweet-alert如何關閉ajax請求完成時的甜蜜提醒

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); 
     } 

    } 

詢價#1(我這個職位的主要目標)

What I am looking for is when the ajax request completes i.e., controls enters in the then(), Sweet alert should automatically hide.

詢價#2 還同時請求處理,我不希望有關閉彈出按鈕(OK按鈕)在甜蜜的警報。

enter image description here 根據文檔,showConfirmButton: false應該隱藏它,但它不是。

任何幫助/建議高度讚賞。
謝謝。

+0

等一下,你在問什麼,看起來你在問這裏兩個不同的東西。你想隱藏'ok'按鈕嗎?還是想要以彈出的方式關閉? – Relic

+0

@Relic,是的,你是對的我更新了帖子 –

+0

我編輯了我的答案,請參閱完整的成功! – Relic

回答

4

爲了在彈出完成時自動隱藏彈出窗口,您應該將初始彈出窗口設置爲一個變量,以便稍後訪問它。也許:

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/在靠近底部的方法部分。

由於您沒有具體的'方式'您想要隱藏確定按鈕,您只是在尋找建議,您可以隨時使用一個小CSS來定位它,並給它設置ol display: none;設置。

+0

你的帖子不清楚,你可以請添加適當的片段? –

+0

我會更新,但這是正確的JS – Relic

+0

'TypeError:SweetAlert.close不是一個函數' –

1

可以在上下部分使用過甜的對象close方法請參見文檔

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

swal.close(); - >以編程方式關閉當前打開的SweetAlert。

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

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