$.ajax中contentType: “application/json” 的用法

来源:互联网 发布:数据库分析工具 编辑:程序博客网 时间:2024/05/22 12:35

不使用contentType: “application/json”则data可以是对象。

$.ajax({url: actionurl,type: "POST",datType: "JSON",data: { id: nodeId },async: false,success: function () {}});这是因为jQuery的$.ajax(url,[settings]) 
1.默认的ContentType的值为:application/x-www-form-urlencoded; charset=UTF-8 
此格式为表单提交格式,数据为key1=value1&key2=value2的格式 
2.虽然ajax的data属性值格式为:{key1:value1,key2:value2},但最后会转为key1=value1&key2=value2的格式提交到后台 
3.如果ajax要和springmvc交互,key1=value1&key2=value2的格式,后台springmvc只需要定义对象或者参数就行了,会自动映射。 
4.如果springmvc的参数有@RequestBody注解(接收json**字符串**格式数据),ajax必须将date属性值转为json字符串,不能为json对象(js对象,会自动转为key=value形式)。并且,修改contentType的值为:application/json; charset=UTF-8,这样加了@RequestBody注解的属性才能自定映射到值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

使用contentType: “application/json”则data只能是json字符串

$.ajax({url: actionurl,type: "POST",datType: "JSON",contentType: "application/json"data: "{'id': " + nodeId +"}",async: false,success: function () {}});
原创粉丝点击