1、contentType: 告诉服务器,我要发什么类型的数据;
2、dataType:告诉服务器,我要想什么类型的数据,如果没有指定,那么会自动推断是返回 String,还是JSON等等其他类型;
3、默认的ContentType的值为:application/x-www-form-urlencoded; charset=UTF-8
此格式为表单提交格式,可以传对象,数据为key1=value1&key2=value2的格式 ,虽然ajax的data属性值格式为:{key1:value1,key2:value2},但最后会转为key1=value1&key2=value2的格式提交到后台 ;
4、默认的ContentType,如果ajax要和springmvc交互,key1=value1&key2=value2的格式,后台springmvc只需要定义对象或者参数就行了,会自动映射。 传递参数类型后台需要使用@RequestParam 或者Servlet获取或者什么都不写也可以绑定;
6、async. 默认是true,即为异步方式;
7、cache:true 如果当前请求有缓存的话,直接使用缓存;
8、默认的timeout为0,代表永不超时;
9、JSON.parse() 用于将一个 JSON 字符串转换为 JavaScript 对象。
JSON.stringify() 用于将 JavaScript 值转换为 JSON 字符串。
例子
不使用contentType: “application/json”则data可以是对象
$.ajax({
url: actionurl,
type: "POST",
datType: "JSON",
contentType: "application/x-www-form-urlencoded; charset=UTF-8" //默认的传递参数类型后台需要使用@RequestParam 或者Servlet获取或者什么都不写也可以绑定
data: { id: nodeId },
async: false,
success: function () {}
error : function() {}
});
使用contentType: “application/json”则data只能是json字符串
$.ajax({
url: actionurl,
type: "POST",
datType: "JSON",
contentType: "application/json; charset=UTF-8 " //JSON字符串,后台需要使用@RquestBody获取,可以和对象绑定;
data: "{'id': " + nodeId +"}",
async: false,
success: function () {}
error : function() {}
});