withCredentials
2024年04月17日
ajax.withCredentials
属性是一个 Boolean
类型,它指示了是否该使用类似 Cookies
、Authorization Headers
(头部授权) 或者 TLS
客户端证书这一类资格证书来创建一个跨站点访问控制(cross-site Access-Control)请求。在同一个站点下使用 withCredentials
属性是无效的。
语法
document.cookie = "id=0928;username=bolawen;"
const ajax = new XMLHttpRequest();
ajax.open("post", "http://localhost:4000/post-method", true);
ajax.setRequestHeader("Content-Type", "application/json");
ajax.withCredentials = true;
ajax.onreadystatechange = () => {
if (ajax.readyState === 4 && [200, 304].includes(ajax.status)) {
const { response } = ajax;
const result = JSON.parse(response);
console.log(result);
}
};
const data = JSON.stringify({
a: 1,
b: 2,
c: 3,
});
ajax.send(data);
说明
http://localhost:3000
页面请求 http://localhost:4000
服务,如果要携带 http://localhost:3000
页面的 cookie ,那么需要配置ajax.withCredentials = true