在跨域请求中,script-tag
中的 Cookies 是不会被发送的。这是因为浏览器出于安全考虑,不允许在跨域请求中携带 Cookies。这样可以防止跨站请求伪造(CSRF)攻击,保护用户的隐私和安全。
如果需要在跨域请求中携带 Cookies,可以使用以下方法:
fetch
API 发送请求,并设置 credentials
选项为 include
。这样可以在跨域请求中携带 Cookies。fetch('https://example.com/data', {
method: 'GET',
credentials: 'include',
})
.then((response) => response.json())
.then((data) => console.log(data));
XMLHttpRequest
发送请求,并设置 withCredentials
属性为 true
。const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/data', true);
xhr.withCredentials = true;
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(JSON.parse(xhr.responseText));
}
};
xhr.send();
需要注意的是,要使上述方法生效,服务器端需要设置响应头 Access-Control-Allow-Origin
和 Access-Control-Allow-Credentials
,以允许跨域请求携带 Cookies。
Access-Control-Allow-Origin: https://your-domain.com
Access-Control-Allow-Credentials: true
总之,在跨域请求中,script-tag
中的 Cookies 是不会被发送的,如果需要在跨域请求中携带 Cookies,可以使用上述方法。
领取专属 10元无门槛券
手把手带您无忧上云