我有一个网页index.php,我正在执行一个ajax
//index.php
<script src="jquery-2.0.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.get('ajax.php', function(data){
console.log(data);
});
})
</script>
服务器端的Noe我在ajax.php中创建了很少的cookie
//ajax.php
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
setcookie("Phone", '111111', time() + 86400);
print_r($_COOKIE);
?>
现在我打开另一个页面test.php并尝试获取此cookie,但我正在获取cookie,我尝试打印cookie
//test.php
<?php
print_r($_COOKIE);
?>
但那些饼干不打印..
答案 0 :(得分:1)
通过PHP通过AJAX设置的Cookie不会在客户端中设置,因为它们是在页面加载时浏览器接收的HTTP标头中定义的。这就是您在发送输出后无法调用setcookie的原因。
使用javascript很容易设置Cookie:http://www.w3schools.com/js/js_cookies.asp
如果PHP脚本正在进行cookie中所需的计算,只需将它们作为JSON传回,然后通过javascript设置它们。
我不知道它有多好用,但这是一个用于管理cookie的jQuery插件:http://plugins.jquery.com/cookie/