我想将HttpStatusCode和Json Object从MVC Controller返回到javascript客户端

时间:2016-07-13 06:09:31

标签: c# json ajax asp.net-mvc

我已经尝试了以下方法,它在本地运行正常,但在测试服务器上只返回没有json对象的BadRequest

 var customObject = new { Message="", Parameters="a1,a2"};
 Response.StatusCode = (int)HttpStatusCode.BadRequest;
 var responseData = new { ErrorCode = 1004, CustomObject = customObject };
 return result = Json(responseData, JsonRequestBehavior.AllowGet);

1 个答案:

答案 0 :(得分:1)

如果要返回JSON数据,最佳解决方案是使用ASP.NET WebAPI。

WebApi将返回一个HttpResponseMessage对象,该对象将包含HttpStatus以及Json格式的返回数据。

[HttpGet]
public HttpResponseMessage GetCustomer()
{
var customObject = new { Message="", Parameters="a1,a2"};
return Request.CreateResponse(HttpStatusCode.BadRequest, CustomObject = customObject);
}

您可以通过继承ApiController而不是Controller类的类来轻松地将MVC控制器转换为WebAPI控制器。