我在返回错误的json数据时遇到了一个奇怪的问题,状态码是400。
在我的控制器中,我有如下代码:
if(!ModelState.IsValid)
{
string[] errors = ModelState.Values
.SelectMany(x => x.Errors)
.Select(x => x.ErrorMessage).ToArray<string>();
Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
return Json(new { success = false, errors = errors }, JsonRequestBehavior.DenyGet);
}
这在我的开发机上运行得很好。我可以在ajax错误方法中获得错误。但是当我部署到服务器上时,服务器不再返回JSON。我总是得到responseText而不是reponseJSON。如果我删除Response.StatusCode,它就能正常工作。
这使我相信当我设置Response对象的StatusCode属性时,函数会“返回”。有其他人遇到过这种情况吗?有人知道解决方案吗?
JsonRequestBehavior.AllowGet
。 - Bharadwaj