我正在尝试使用Charles-Proxy在我的angular 1代码上测试一些错误流路径,因此我有意使用Charles Proxy将我的一些api请求重写为503。在网络标签中,我看到了选项请求上的503,但是当$ http请求进入其错误处理函数时,它将返回-1作为错误状态,而不是503。
$http(requestObject).then(function() {
//some code that isn't running
}, function(error) {
console.log(error.status) //logs -1
})
我的Charles代理重写已完成,响应状态如下所示。
您可以在下面看到控制台输出(从图像中删除了网址)
当我不使用Charles进行重写时,它可以很好地工作,并且如果自然出现错误,它也可以正常工作。
谢谢。
最佳答案
查尔斯可能正在按预期工作。
问题在于,由于CORS政策,请求已中止。有关状态码“-1”和CORS,请参见以下说明。
AngularJS $http returns documentation
Cross-Origin Resource Sharing
根据AngularJS文档,“-1”状态代码从$ http库而不是从Charles或您的api服务器返回。
编写其他代码以允许您的API服务器使用CORS,然后重试该请求。
关于angular - 使用Charles-Proxy错误状态重写是-1而不是503,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59637644/