0

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

$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。

4

1 回答 1

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);
  });
于 2013-04-26T16:19:34.577 回答