我在向 ajax 调用发送错误自定义消息时遇到问题。我的控制器返回如下内容:
return new HttpStatusCodeResult(400, "My error!");
我的 ajax 代码如下所示:
error: function (xhr, httpStatusMessage) {
console.log(xhr.statusText);
console.log(httpStatusMessage);
}
问题是 xhr.statusCode 和 httpStatusMessage 始终是“错误”。我现在做错了什么?
我期待着“我的错误!”在 xhr.statusText 中。
我在用着ASP.NET MVC 5
and jquery-1.10.2
我的 xhr 输出是:
abort:ƒ ( statusText )
always:ƒ ()
complete:ƒ ()
done:ƒ ()
error:ƒ ()
fail:ƒ ()
getAllResponseHeaders:ƒ ()
getResponseHeader:ƒ ( key )
overrideMimeType:ƒ ( type )
pipe:ƒ ( /* fnDone, fnFail, fnProgress */ )
progress:ƒ ()
promise:ƒ ( obj )
readyState:4
responseText:"Bad Request"
setRequestHeader:ƒ ( name, value )
state:ƒ ()
status:400
statusCode:ƒ ( map )
statusText:"error"
success:ƒ ()
then:ƒ ( /* fnDone, fnFail, fnProgress */ )
我的 Web.config httpErrors 配置如下所示:
<httpErrors existingResponse="PassThrough" errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/Error/NotFound" responseMode="ExecuteURL" />
<remove statusCode="403" />
<error statusCode="403" path="/Error/Forbidden" responseMode="ExecuteURL" />
</httpErrors>
尽管如此,在我的开发环境中,responseText 为空,statusText 只是“错误”。