ajax跨越时默认不带cookie,如果需要带cookie调用,需要设置参数 xhrFields: { withCredentials: true },如:
$.ajax({url : "http://www.baidu.com",
dataType : 'json',
xhrFields: { withCredentials: true },
success:function(data){console.log(data)}
})
但是在使用jQuery插件select2跨域时,在ajax下直接设参数 xhrFields: { withCredentials: true } 无效,需要在外面包一层params,如下:
$("#s2_input").select2({
placeholder: "",
ajax: {
url: "http://www.baidu.com",
params: {
xhrFields: { withCredentials: true }
},
dataType: 'json',
data: function (term, page) {
return {
page: page,
count: 25,
q: term
};
},
results: function (data, page) {
var more = (page * 25) < data.total;
return { results: data.items, more: more };
}
},
formatResult: namesformat,
formatSelection: namesformat,
escapeMarkup: function (m) { return m; },
initSelection: function (element, callback) {
var data = [];
$(element.val().split(",")).each(function () {
data.push({ id: this, text: this });
});
callback(data);
}
});