AngularJS $ http发布方法请求被取消

时间:2019-04-23 07:24:03

标签: angularjs

我正在进行从angularjs应用到Rest Web服务的呼叫。大多数时候,要求取消。有时第一个电话被取消,或者第二个电话被取消。有时效果很好。

代码是:

new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                fadingTextView.stop();
            }
        }, Time_TO_STOP);

enter image description here

2 个答案:

答案 0 :(得分:0)

$http({
    method : 'POST',
    url : 'http://localhost:8080/myapp/api/j/save-file',
    data : {fileName: 'abc.txt'}
}).success(function (data) {
    alert("success");
}).error(function (data) {
    alert("failed: ", data);
});

删除https并放置HTTP将解决您的问题。

:-)确保已使用完美的路由调用了完善的API。

:-)如果正在调用内部API,则可以/myapp/api/j/save-file

答案 1 :(得分:0)

在不了解发送请求的内容,将请求发送到的网络服务器等方面的情况下,我们真的无法对此进行过多诊断。但是,我可以提供以下建议:

  1. HTTP与HTTPS在这里不会有任何区别。如果您要发送到明确使用未使用的协议的站点,则会收到类似HTTP 404错误或301(重定向)状态的信息。
  2. “完美”路线也没有道理。当然,如果您尝试使用错误的地址访问路由,则该路由将不起作用,但您仍然会得到404(或500,或其他任何值)。
  3. 是的,您可以使用相对URL来访问同一服务器上的内容,但是您也可以使用完整的绝对URL。在这里,没有有所不同,并且根本没有解释为什么您的请求被取消。

这是一个测试。如果您在AngularJS应用程序中将所有其他注释掉,只剩下app定义本身和controller定义,并尝试以这种方式运行,会发生什么情况?它仍然取消吗?尝试通过将其分解为基本要素来找出要取消的点。

如果这种情况仍然取消,那么(我不喜欢使用它)如何处理jQuery $.post(),以了解AngularJS是否存在某些特定问题以及如何使用它?在Firefox,Chrome和您拥有的其他任何浏览器中,是否会发生相同的错误(使用jQuery AngularJS)?

编辑:

我使用与您使用的相同的$http方法,在https://jsfiddle.net/cLu04r1t/1/上进行了快速的JS调试。您的代码是否在这个极简示例中抛出了相同的错误(如果您用示例替换了我发送给它的URI)?

最后,看看What does status=canceled for a resource mean in Chrome Developer Tools?。这些 中的任何一个可能是导致您的AJAX请求被取消的罪魁祸首吗?