2013-05-11 105 views
-2

有没有办法将javascript值传递给php?javascript值传递给php

if(echo '<script>window.location.href="/mysite"</script>' === "/mysite"){ 
    $myVal = 1; 

}else{ 
    $myVal = 2; 
} 

这种方式似乎不起作用

+0

你能告诉你想要发生什么吗?现在你只是比较两个字符串,这没有任何意义。 – 2013-05-11 20:36:41

+0

使用一个get变量,'window.location.href =“/?site = mysite”'然后在PHP上,你可以测试'$ _GET ['site'] ==“mysite”'。 – 2013-05-11 20:37:03

+0

你试图确定当前文件的位置? – 2013-05-11 20:46:30

回答

2

不,你不能这样做。如果你想要的东西最好,最简单的方法是使用jQuery ajax函数http://api.jquery.com/jQuery.ajax/这将发送请求到服务器与你想给脚本的数据(最简单的方法 - 使其他.php文件?),如果你想要返回的东西,它会在ajax中返回数据。阅读提供的链接,你应该很好去。

如果你想知道你目前在哪个网站(如在例子中),你可以使用$ _SERVER数组并获取你想要的变量。列表在这里:http://php.net/manual/en/reserved.variables.server.php

0

PHP代码执行服务器端。 JavaScript执行客户端。除非您在PHP中创建一个从JavaScript调用的Web服务,否则两者无法沟通。不幸的是,这不会解决你的问题。

如果你想设置基于请求的URL值,你可以尝试:

if($_SERVER['REQUEST_URL'] === "/mysite"){ 
    $myVal = 1; 
} else { 
    $myVal = 2; 
} 
+0

谢谢,是的,我用这种方式。只是想知道我是否可以让他们沟通。 – olo 2013-05-11 21:22:37

0

我在您的文章中看到的代码表明你完全误解了PHP和JavaScript的性质。

通过AJAX请求发送JS var,然后在一些服务器端脚本中使用它。

0

php首先在服务器端执行。

然后javascript在客户端执行。所以这是在php被渲染之后。

将javascript值发送到php的唯一方法是使用ajax发送异步调用。