2012-03-08 147 views
6

可能重复:
How to pass a variable/data from javascript to php and vice versa?将javascript变量传递给php代码?

我有PHP和JavaScript代码的文件。我想设置一个php变量作为一个JavaScript函数的结果,它将一个php变量作为参数。例如:

$parameter = "this is a php variable"; 
$phpVar = echo "foo(" . parameter . ");"; 

我知道你不能做一个“= echo”,有没有另一种方法可以做到这一点?

感谢

+1

发送用ajax,或使用形式...你的情况下依靠太,你想要做什么.. – StiveKnx 2012-03-08 19:29:28

回答

12

由于JavaScript运行在客户端并且PHP在服务器端执行,所以不能直接执行此操作。

您需要先执行JavaScript,然后通过FORM或AJAX调用将结果发送到服务器。

这里有可能是什么样子:

PHP

$parameter = "this is a php variable"; 
echo "var myval = foo(" . parameter . ");"; 

的JavaScript

var myval = foo("this is a php variable"); // generated by PHP 

$.ajax({ 
    type: 'POST', 
    url: 'yourphpfile.php', 
    data: {'variable': myval}, 
}); 

接收PHP(yourphpfile.php)

$myval = $_POST['variable']; 
// do something 
+0

接收的PHP代码是由yourphpfile.php指定的文件。它可以是独立的,也可以是原始PHP文件中if块的一部分。 – 2012-03-08 19:39:58

+0

雄辩且容易做到。 – Jodo1992 2017-04-24 04:32:10

1

你必须做出GETPOST要求从JavaScript脚本。

3

PHP代码在响应被发送之前在服务器上运行; JavaScript是在浏览器后运行的。您无法从JavaScript设置PHP变量,因为浏览器中没有PHP变量,其中运行JavaScript。您必须使用JavaScript的AJAX请求到PHP脚本,该脚本存储您想要获取的任何信息。

+2

谁downvoted,这将是更有益的解释你发现令人反感,尤其是因为所有在我之后回答的人似乎都在说我做过的同样的事情。我有什么重要的细微差错?你不喜欢以高品质地面肉类命名的人吗? – Chuck 2012-03-08 19:39:51

0

你不能传递一个js变量到php 代码
PHP恰好在服务器上运行,远离客户端,在这里运行js。

因此,您只能使用js或常规超链接调用php脚本。

2

试试这个:

var a = "Result: "+ <?php echo json_encode($parameter); ?>;