在ajax调用(PHP)中设置cookie,然后在ajax回调(JavaScript)中重定向

时间:2017-05-03 12:21:44

标签: javascript php ajax cookies

我创建了一个页面,通过单击按钮(使用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), "/");

2 个答案:

答案 0 :(得分:2)

你必须发送ajax的异步请求,以便在完成ajax请求后你就可以设置cookie了。希望你能得到它。谢谢

答案 1 :(得分:0)

  

事实证明,在AJAX请求中发送cookie时,设置Path选项很重要。如果设置Path = /,例如:

Set-Cookie:SessionId=foo; Path=/; HttpOnly

请参考: Setting cookies in an ajax request