如何在客户端的跨域xhr调用中添加cookie?

时间:2018-01-25 01:56:11

标签: javascript cookies

例如,如果我有来自域A的Cookie且我的javascript客户端代码位于域B中。当我从域A向域B发出ajax请求时,浏览器会自动将域A的Cookie传递给请求吗?

我应该添加一个设置来设置cookie吗?好像我的javascript客户端无法访问域A cookie。

供参考我正在使用此库https://github.com/naugtur/xhr

2 个答案:

答案 0 :(得分:0)

使用withCredentials:true

这允许来自远程域的cookie来回传递,假设在远程端点设置了正确的访问控制头,以允许" withCredentials"

参考:XMLHttpRequest.withCredentials

答案 1 :(得分:0)

您正在寻找XHR库的withCredentials设置。

所以:

var xhr = require("xhr")

xhr({
    withCredentials: true, // <--- this!
    method: "post",
    body: someJSONString,
    uri: "/foo",
    headers: {
        "Content-Type": "application/json"
    }
}, function (err, resp, body) {
    // check resp.statusCode
})