我创建了一个页面,通过单击按钮(使用PHP的ajax)设置cookie,然后重定向到不同的页面(JavaScript)。
$.ajax({
url: "addTeacher.php",
dataType: 'html',
data: text,
cache: false,
type: "GET",
success: function(html) {
window.location = "teacherList.php";
}
});
但是当我尝试访问被重定向到(teacherList.php)的页面中的set cookie时,它是空的。如果再次刷新重定向的页面,则可以访问cookie。
这就是我在addTeacher.php中设置cookie的方式。
addTeacher($teacher, $items);
setcookie("$teacher_id", "$teacher_id", time() + (86400 * 1), "/");
答案 0 :(得分:2)
你必须发送ajax的异步请求,以便在完成ajax请求后你就可以设置cookie了。希望你能得到它。谢谢
答案 1 :(得分:0)
事实证明,在AJAX请求中发送cookie时,设置Path选项很重要。如果设置Path = /,例如:
Set-Cookie:SessionId=foo; Path=/; HttpOnly