猿问

jQuery.ajaxSetup 把 processData 设置为 false 后使用 GET 方

$.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',
    },

以上是部分关键代码,当我调用ajaxtype设置为POST的时候data就可以传进来,可是我把type设置为GETdata就不会定义,而在ajax对象的url属性后面加上一句?[object Object]&_=1478522566614,这是怎么一回事?


白猪掌柜的
浏览 2446回答 1
1回答

慕沐林林

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。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答