【发布时间】:2016-09-15 18:09:17
【问题描述】:
我遇到了一个奇怪的问题,即返回 400 状态码和 json 出错。
在我的控制器中,我有类似的东西:
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
标签: c# .net json asp.net-mvc