【记录】ASP.NET MVC JsonResult JsonRequestBehavior AllowGet
JS Ajax 调用代码:
$.ajax({
url: "/AjaxController/GetInfoById",
type: 'GET',
datatype: "json",
contentType: "application/json; charset=utf-8",
data: { id: id },
success: function (data) {
if (data) {
alert(data.Id);
alert(data.Title);
}
},
error: function (error) {
$("#result_div").html(error.responseText);
}
});
Controller Action 代码:
[HttpGet]
public async Task<JsonResult> GetInfoById(int id)
{
var result = await service.GetInfoById(id);
return Json(result);
}
注意这种实现在 ASP.NET 5 项目中,是没有任何问题的,但在 ASP.NET MVC 5 中,会报如下错误:
This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet.
正确代码(AllowGet):
[HttpGet]
public async Task<JsonResult> GetInfoById(int id)
{
var result = await service.GetInfoById(id);
return Json(result, JsonRequestBehavior.AllowGet);
}
参考:
作者:田园里的蟋蟀
微信公众号:你好架构
出处:http://www.cnblogs.com/xishuai/
公众号会不定时的分享有关架构的方方面面,包含并不局限于:Microservices(微服务)、Service Mesh(服务网格)、DDD/TDD、Spring Cloud、Dubbo、Service Fabric、Linkerd、Envoy、Istio、Conduit、Kubernetes、Docker、MacOS/Linux、Java、.NET Core/ASP.NET Core、Redis、RabbitMQ、MongoDB、GitLab、CI/CD(持续集成/持续部署)、DevOps等等。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
微信公众号:你好架构
出处:http://www.cnblogs.com/xishuai/
公众号会不定时的分享有关架构的方方面面,包含并不局限于:Microservices(微服务)、Service Mesh(服务网格)、DDD/TDD、Spring Cloud、Dubbo、Service Fabric、Linkerd、Envoy、Istio、Conduit、Kubernetes、Docker、MacOS/Linux、Java、.NET Core/ASP.NET Core、Redis、RabbitMQ、MongoDB、GitLab、CI/CD(持续集成/持续部署)、DevOps等等。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。