我有一个$http.post()
用于进行Web服务调用的Angularjs应用程序。它调用的方法具有void
返回类型,并生成204(无内容)响应代码。这进入了在.then()
回调中定义的错误函数,并在日志中显示“未找到元素”。
如果我从该方法返回任何内容,它将返回正常的200响应代码。
为什么成功代码会触发错误功能?
要求的代码:
function myFn(inputData) {
var d = { data: inputData };
$http.post("../api/my/serverFn", d)
.then(
function(response) {
$rootScope.AddMsg("Success");
},
function(response) {
// The 204 response goes here.
$rootScope.AddMsg("Error");
});
}
AngularJS本身并不将204响应视为错误。调查显示,实际上,如果收到的响应的状态为204,则堆栈中会有一个HTTP拦截器拒绝了诺言,从而将成功的响应转换为错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句