我正在尝试使用Charles-Proxy在我的angular 1代码上测试一些错误流路径,所以我故意用Charles Proxy重写了一些api请求到503。在network选项卡中,我在options请求上看到了503,但是当$http请求进入它的错误处理函数时,它会返回-1作为错误状态,而不是503。
$http(requestObject).then(function() {
//some code that isn't running
}, function(error) {
console.log(error.status) //logs -1
})我的Charles代理重写正在命中,响应状态如下所示。

您可以在下面看到控制台输出(从图像中删除urls )

当我不使用Charles重写时,它工作得很好,如果出现错误,它也会正常工作。
谢谢。
发布于 2020-01-12 23:40:44
也许Charles的工作方式和你预期的一样。
问题是,由于CORS策略,请求已被中止。状态码"-1“和CORS请参考下面的描述。
AngularJS $http returns documentation
根据AngularJS文档,"-1“状态码是从$http库返回的,而不是从Charles或您的api服务器返回的。
编写其他代码以允许您的API服务器使用CORS,然后重试该请求。
https://stackoverflow.com/questions/59637644
复制相似问题