jQuery向webApi提交post json数据
2017-01-16 11:41
746 查看
在页面想webApi post json数据的时候,发现webapi不能直接以json的方式接受数据(注:我是没有发现一个很好的方式来post json数据的);但是可以以数据结构的方式传递;
如下:
//js代码 var d = { Id: "1", Name: "name", Value: "OldValue", 7 }; $.ajax({ type: "post", url: url1, data: JSON.stringify({ pConfig: d }), success:function(d){ } });
public class Diff { public string Id { set; get; } public string Name { set; get; } public string Value { set; get; } } public Diff post([FromBody]Diff pConfig) { List<DiffConfig> s = pConfig; return s; }
像这样的代码是没有问题的;得到的是一个标准结构的数据;
但是如果改为下面的代码,就会发现没有数据
//js代码 var d = [{ Id: "1", Name: "name", Value: "Value", },{ Id: "2", Name: "name2", Value: "Value2", }]; $.ajax({ type: "post", url: url1, data: JSON.stringify({ pConfig: d }), success:function(d){ } });
public List<Diff> post([FromBody]List<Diff> diff) { List<Diff> d = diff; return d; }
这样的代码会发现,数据没有传过来,后面才发现,原来jq的ajax传输数据类型有问题;传输的数据类型contentType的默认值为 "application/x-www-form-urlencoded"。默认值适合大多数情况。但是却不能适应这次传输的值,把 contentType: 'application/json' 设置一下,就可以ok了;数据传输完全没有问题;
$.ajax({ type: "post", dataType: 'json', url: url, contentType: 'application/json', data: JSON.stringify(d), success: function (d) { } });
以上所述是小编给大家介绍的jQuery向webApi提交post json数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
相关文章推荐
- 在jquery中使用$("#form").submit() 重写提交表单时不起作用
- jquery的ajax提交时“加载中”提示的处理方法
- jquery-mvc中ajax重复提交(click重复绑定)以及点击没反应问题
- jquery 解决多次提交
- jquery实现ajax提交form表单的方法总结
- jquery 生成form 并提交,可用于jquery打开新窗口而不被屏蔽
- 使用jQuery.form插件,实现完美的表单异步提交【转发】
- jquery的ajax提交时loading提示的处理方法
- jquery的ajax提交时“加载中”提示的处理方法
- jquery 监听回车提交
- jquery form submit提交后无反应 不报错
- MVC中处理表单提交的方式(Ajax+Jquery)
- Jquery异步提交返回json结果问题
- jquery下异步提交表单 异步跨域提交表单
- JQuery扩展提交JSON数据
- Jquery中如何将表单A的指定值放到表单B一起提交
- JQuery中Ajax的Post提交在IE下中文乱码的解决方法
- jQuery 实现表单提交前检验元素值是否为空