$.ajaxSetup({
type: 'GET',
dataType: 'text',
cache: false,
processData: false,
beforeSend: function () {
console.log(arguments[1]);
console.log(arguments[1].data);
},
});
$.ajax({
url: 'xxx',
type: 'GET',
processData: false,
data: {
info: 'text',
},
以上是部分关键代码,当我调用ajax
把type
设置为POST
的时候data
就可以传进来,可是我把type
设置为GET
,data
就不会定义,而在ajax
对象的url
属性后面加上一句?[object Object]&_=1478522566614
,这是怎么一回事?
data
类型:String
发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。
processData
类型:Boolean
默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。