我在将数据从 javascript 发布到 php 时遇到问题。我正在使用 $.post 方法,但由于与 wordpress 冲突,我也使用 $J = jQuery.noConflict()。
因此我在 javascript 中有以下内容:
$J = jQuery.noConflict()
x=1
$J.post('/the directory',{x: x}, function(data){
});
alert($J.cookie("y"));
在 php 中我有:
if(isset($_POST['x']))
{
setcookie("y", 1);
}
else{
setcookie("y", -1);
}
每次看到y = -1,说明php中没有找到x。我做错了什么?
到目前为止我尝试了什么,但都不起作用:
将帖子连接到不同的事件(按下提交时或加载页面时)
将警报($J.cookie("y"))放在函数(数据)后面的括号之间
尝试删除 $ 后面的 J 或在 php 中将它们添加到前面
我有点担心帖子的问题是因为我添加了 $J = jQuery.noConflict()。虽然我使用了许多其他功能,但没有遇到任何问题,您是否知道解决方案或者您能帮助我找到正确的方向吗?提前致谢!
最佳答案
整个前提都是错误的,cookie 是每个请求发送的 HTTP header 的一部分,要接收新的 cookie,您必须接收新的 header ,这需要页面加载。
您无法执行 ajax 请求并在服务器上设置 cookie,然后期望可以在客户端通过 javascript 访问它,而无需实际重新加载页面并接收包含该 cookie 的新的和修改后的 header 。
关于javascript - $.post 不能与 $J = jQuery.noConflict(); 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29988770/