Angularjs $ http.get不会调用回调

时间:2015-01-30 21:27:05

标签: javascript angularjs

我加载javascript后立即执行$ http.get请求,它在90%的情况下工作正常,但是,有时它只是不调用成功或错误回调,我不确定请求是否是实际发送或它只是没有调用回调,这很奇怪,因为它在90%的情况下工作得很好,如果我在自己的计算机上运行它就100%,如果我把它放到远程服务器上,这种情况就会发生..

    $scope.load = function(){
    console.log("Sending request at "+Date());
    $http.get(requestUrl).
      success(function(data, status, headers, config) {
        console.log("Loading Question Succeed");
        $scope.Content = data.Html;
        data = data.Data;
      }).
      error(function(data, status, headers, config) {
        console.log("Loading Question Failed");
      });
};
$timeout($scope.load);

1 个答案:

答案 0 :(得分:1)

您可能需要考虑使用then()方法而不是传统的成功\失败方法。阅读承诺或查看解释差异的帖子 - Angular HttpPromise: difference between `success`/`error` methods and `then`'s arguments

在上面的帖子中,看看最后的一个答案,给出了使用then()方法和catch()

的例子。

尝试一下,看看它是否能为您提供更一致的结果,或者是否有任何东西在catch()中结束