2014-10-02 35 views
1

我有服務,並在特定的時間內,如果響應來了,比其他明智的彈出窗口顯示錯誤。

這裏是我的服務代碼:

angular.module('server', []) 

.factory('api', function($http) { 
    var server = "http://myapi-nethealth.azurewebsites.net"; 
     return { 
      //Login 
      login : function(formdata) { 
       return $http({ 
        method: 'POST', 
        url: server + '/Users/Login', 
        data: $.param(formdata), 
        headers: { 'Content-Type' : 'application/x-www-form-urlencoded'}, 
       }) 
      }, 
     }; 

    }); 

請告訴我,我該如何使用超時屬性的服務。

+0

嘗試使用''從$ http' API HTTPS timeout'選項://文檔。 angularjs.org/api/ng/service/$http#usage – monkeyinsight 2014-10-02 05:01:53

+0

如何在超時後放置彈出窗口,我必須只將控制器或服務放入... – 2014-10-02 05:07:43

+0

RTFM「用標準方法返回承諾對象然後方法和兩個http具體方法:成功與錯誤。「你只需要'$ http({你的選項})。success(function(){alert('success')})。error(function(){alert('error')})' – monkeyinsight 2014-10-02 05:10:28

回答

1

閱讀此篇 - How to set a global http timeout in AngularJs

,您可以設置一個超時的HTTP調用。

你可以在你的控制器注入上述工廠,然後進行與成功和錯誤回調呼叫像下面

api.login(formdata) 
.success(function(){ alert("success"); }) 
.error(function(){ alert("error"); });