根据Requests with credentials的说法,火狐只有在以下情况下才会发送凭据和跨域帖子
invocation.withCredentials = "true";
设置为…但是jQuery的Ajax API似乎并没有为此提供任何机制。
我是不是漏掉了什么?有没有其他方法可以做这件事?
发布于 2011-08-25 20:38:25
在jQuery 1.5中,功能应该会被破坏。
从jQuery 1.5.1开始,您应该使用xhrFields参数。
$.ajaxSetup({
type: "POST",
data: {},
dataType: 'json',
xhrFields: {
withCredentials: true
},
crossDomain: true
});
发布于 2010-01-13 12:19:18
您可以使用beforeSend
回调来设置其他参数( XMLHTTPRequest
对象将作为其唯一参数传递给它)。
需要说明的是,这种类型的跨域请求不能在正常的站点场景中工作,也不能在任何其他浏览器中工作。我甚至不知道FF 3.5也施加了什么安全限制,这样你就不会无缘无故地撞到墙上:
$.ajax({
url: 'http://bar.other',
data: { whatever:'cool' },
type: 'GET',
beforeSend: function(xhr){
xhr.withCredentials = true;
}
});
另一件要注意的事情是,jQuery的设置是为了标准化浏览器差异。您可能会发现jQuery库施加了更多限制,禁止这种类型的功能。
https://stackoverflow.com/questions/2054316
复制相似问题