asp.net-mvc – Asp.net MVC控制器Action字符串参数未通过
在我的控制器中我有
public JsonResult GetInfo(string id) 在我的js $.ajax({ contentType: 'application/json,charset=utf-8',type: "POST",url: "/Incidents/GetInfo",data: { id: "777" },cache: false,dataType: "json",success: function (response) { //etc.... jquery ajax错误委托被执行.如果我使用 data: { "777" }, 没有错误,但值没有通过.这应该很容易,但我正在撞墙.也许我不被允许将字符串传递给控制器??的动作? 我在这做错了什么? 解决方法
您正在指示application / json请求,并且您正在发送application / x-www-form-urlencoded请求.因此,您必须在两种方法中选择一种来编码参数,而不是混合它们.
应用程序/ x-WWW窗体-urlencoded: $.ajax({ type: "POST",... }); 应用程序/ JSON: $.ajax({ type: "POST",contentType: 'application/json,data: JSON.stringify({ id: "777" }),... }); JSON.stringify方法本身构建在现代浏览器中,用于将javascript文字转换为JSON字符串,这是我们表示将发送请求的字符串.如果您必须支持旧版浏览器,则可以将json2.js脚本包含在包含此方法的页面中. 作为旁注,不需要dataType:“json”设置,因为服务器会将正确的Content-Type标头设置为application / json,而jQuery足够智能使用它. 作为第二个注意事项,你真的不想在你的javascript文件中硬编码这样的url:url:“/ Incidents / GetInfo”.你想要的是在生成url时使用url helper:url:“@ Url.Action(”GetInfo“,”Incidents“)”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-web-api – 如何在WebApi中获取HttpRequestMessage
- 如何在asp.net mvc 2中获取Html.EditorForModel()方法的tex
- asp.net-mvc – DisplayFormat未应用于十进制值
- ASP.NET应用程序MSI安装程序多个实例
- asp.net-mvc – 使用NHibernate时如何处理成员资格/角色?
- Asp.Net中ajax+ashx使用详解
- 使用 C# 捕获进程输出
- asp.net-mvc – 如何在不使用ASP.Net MVC html助手的情况下
- asp.net – 如何引用主域名而不用硬编码它的名字?
- asp.net-mvc – 在MVC应用程序中使用ELMAH调试/跟踪消息
- asp.net – 向GridView添加默认排序箭头
- asp.net-mvc – 我们如何使用ASP.NET MVC 4和MEF
- asp.net-mvc – ASP.NET MVC – 如何访问除Contr
- asp.net – 我的自定义httpModule没有被MVC检测到
- asp.net-mvc – 为什么ASP.NET MVC Html.CheckBo
- ASP.NET拒绝尊重我的权限.
- asp.net – 如何在Sitecore中以编程方式创建项目
- asp.net-mvc – MVC [HttpGet]控制器注释可选吗?
- ASP.NET MVC,Ninject,每个请求多个构造函数的单个
- asp.net-web-api2 – Swagger中的数据注释