在A页面点击超链接跳转到B页面的时候,通过使用js创建一个cookie,希望浏览器在发送请求时能够带上被创建的cookie
A.js
$('table tr td').click(
function()
{
document.cookie = "testName=你好 tom;Path=/";
window.location.href = "/B.html" ;
}
);
B.js
$(function(){
if(document.cookie.length > 0){
let start = document.cookie.indexOf("testName=");
if(start != -1){
start = start + "testName".length + 1;
let end = document.cookie.indexOf(";", start);
if(end == -1)
end = document.cookie.length;
alert(unescape(document.cookie.substring(start, end)));
}
}
}
结果是B.js可以获取到 testName 的值,但是在后端遍历request中的 cookies 数组时,却没有 testName。浏览器在发送请求的时候不是会附带上 cookie 吗?望大佬能传道授业解惑,解答一下浏览器发送 cookie 的过程。
个人见解:
Domain
。Access-Control-Allow-Credentials: true
)。withCredentials:true
)。不同的ajax库有不同的设置方式。Secure
策略,只有使用https
才会起作用。前后台交互发送的cookie是浏览器定义的cookie数据,不是用户自定义的数据
你要把数据传到后端,用ajax提交过去
如果你的A页面和B页面在同一个域下面,会自己带过去的
domain的问题吧