2015-05-01 64 views
2

我有一个问题,从javascript发布数据到php.I使用$ .post方法,虽然由于与wordpress的冲突我是使用$ J = jQuery.noConflict()的alos。

所以因此我有以下的,在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,表明X在PHP未找到。我究竟做错了什么?

我是怎么尝试,到目前为止,这一切都没有工作:

连接后,以不同的事件(被按下时提交,或者在页面加载)

把警报(附加$ J。饼干这是函数后面的括号(“Y”))(数据)

尝试$后删除J或在PHP中加入他们前面

我有点担心的问题这篇文章是因为我添加了$ J = jQuery.noConflict()。尽管我使用了许多其他功能,然后我没有任何问题,但您是否知道解决方案,或者您能帮助我迈向正确的方向?提前致谢!

+2

只是一个参考,但你有没有阅读关于如何在Wordpress中使用jQuery的[*** Codex部分***](https://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_Wrappers)? – adeneo

+1

为什么你怀疑这个问题是由'noConflict()'和别名造成的?请求在使用'jQuery.post()'时使用相同的参数成功吗? –

+0

嗨乔纳森,我怀疑这是因为这对我来说是一个未知领域。旁边有我检查了多种可能性。帖子不起作用,我可以想象的唯一原因是与noconflict属性冲突,但我要求queston,因为我不知道。在旁边,我添加了很多脚本来获得所有noconflict争论者/调整的骑行。 – TimothyUtrech

回答

0

整个前提是错误的,cookie是每个请求发送的HTTP头的一部分,并且接收新的cookie将需要接收新的头,这将需要页面加载。

你不能做一个ajax请求,并在服务器上设置一个cookie,然后期望它可以在客户端的javascript中访问,而无需实际重新加载页面并接收包含该cookie的新的和修改的标头。

+0

好吧,我明白了,但我不知道如何才能解决我的问题。我有一份最终提交的表格。然后加载页面,并将访问者重定向到同一页面。在此期间(此页面加载)我希望PHP获取数据,处理数据并将信息带回到我想要显示的JavaScript。现在我把帖子连接到这个提交时刻,但它不起作用,你会如何解决这个问题? – TimothyUtrech

+0

你可以用ajax来回发送数据,这就是它的用途。 Cookie用于在页面加载和会话中存储持久性数据。 – adeneo

+0

好吧,但在这里它出现错误在后的时刻,因为X不被识别,而饼干工作(我得到-1)。你将如何解决这个职位问题? – TimothyUtrech

相关问题