AngularJS中的XHR ontimeout()?

时间:2013-04-26 15:25:48

标签: javascript http angularjs xmlhttprequest

我正在寻找一种在$ http调用超时时运行函数的方法。 XMLHttpRequest中有和事件处理程序名为ontimeout,但我找不到用A http在AnguarJS中执行此操作的方法。任何解决方案?

$http.get('http://10.255.255.1/test', {withCredentials: true})
  .then(function(response, error) {
    console.log('then');
    console.log(response, error);
  })
  .success(function(data, status, headers, config) {
    console.log('success');
    console.log(status, data);
  })
  .error(function(data, status, headers, config) {
    console.log('error');
    console.log(status, data);
  });

在这种情况下,没有人被调用。此外,似乎不是GET,而是OPTIONS。

1 个答案:

答案 0 :(得分:1)

如果您使用.then(),则会丢失$ http特定的成功/错误回调,您可以尝试:

$http.get('http://10.255.255.1/test', {withCredentials: true})
  .then(function(response) {
    console.log('then');
    console.log(response);
  }, function(response) {
    console.log('error');
    console.log(response);
  });

$http.get('http://10.255.255.1/test', {withCredentials: true})
  .success(function(data, status, headers, config) {
    console.log('success');
    console.log(status, data);
  })
  .error(function(data, status, headers, config) {
    console.log('error');
    console.log(status, data);
  });