跨域POST请求未发送cookie Ajax Jquery

似乎已经在stackoverflow上讨论过类似的内容,但是我找不到完全一样的东西。

我正在尝试发送带有CORS(跨源资源共享)的Cookie,但无法正常工作。

这是我的代码。

$.ajax(

{

type: "POST",

url: "http://example.com/api/getlist.json",

dataType: 'json',

xhrFields: {

withCredentials: true

},

crossDomain: true,

beforeSend: function(xhr) {

xhr.setRequestHeader("Cookie", "session=xxxyyyzzz");

},

success: function(){

alert('success');

},

error: function (xhr) {

alert(xhr.responseText);

}

}

);

我在请求HEADER中看不到此Cookie。

回答:

您无法通过JavaScript在CORS请求上设置或读取Cookie。尽管CORS允许跨域请求,但cookie仍然受浏览器的同源策略约束,这意味着只有来自相同来源的页面才能读取/写入cookie。withCredentials仅表示将远程主机设置的任何cookie发送到该远程主机。您将必须使用Set-

Cookie标头从远程服务器设置cookie 。

以上是 跨域POST请求未发送cookie Ajax Jquery 的全部内容, 来源链接: utcz.com/qa/399372.html

回到顶部