我在ASP.NET MVC中有一个项目,在该项目中,我将返回以下内容:
public ActionResult MyAction()
{
return new HttpStatusCodeResult(HttpStatusCode.NotFound, "custom err msg");
}
此响应被发送到ajax函数并由fail()函数捕获:
$.ajax({
url: "url to MyAction",
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json"
})
.fail(function (data) {
console.log(data);
});
});
当我通过本地IIS Express上的Visual Studio运行此命令时,console.log(data)返回:
responseText
:
"some html with my 'custom err msg' inside it"
status
:
404
statusText
:
"error"
但是在我的Azure开发服务器上:console.log(data)返回:
responseText
:
"The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
status
:
404
statusText
:
"custom err msg"
为什么这样不一致?在两台服务器上都可以这样做,或者我的错误消息是responseText或statusText
答案 0 :(得分:0)
HTTP / 2中不再存在状态行。也许服务器正在运行不同版本的HTTP?
(也是,第一次,在application / json上没有charset参数)