将PHP变量传递给JS

时间:2016-09-25 10:09:49

标签: javascript php jquery

此问题中使用的方法是错误的。正如评论中所提到的,PHP是服务器端处理,JS是客户端处理(浏览器)。 2不应混合。

看起来像一个显而易见的解决方案的微不足道的问题。我有一个PHP文件,通过帖子加载。在本文档中,我可以检索发布的值:

$userid = $_POST["userid"];

然后在$(document).ready(function()中的Javascript中,我试图将post值分配给Javascript变量:

var jsvariable = <?php echo($_POST["userid"])?>;

在js错误或语法错误中保持变量未定义,在PHP中出现意外T_VARIABLE 错误。

请告知我如何成功检索此值。

3 个答案:

答案 0 :(得分:2)

有两种方法:

首先,如果你的js存在于php文件中,那么就是这种情况。

var jsvariable = "<?php echo $_POST["userid"]; ?>";

如果你的js存在于.js文件中,那么就是这种情况。

var jsvariable2 = "<?php echo $_POST["userid"]; ?>";

以及此行以下。调用js文件。

<script src="whatever.js" type="text/javascript">

在js内部将上面创建的变量分配给它:

var jsvariable = jsvariable2;

希望它有所帮助。

答案 1 :(得分:0)

var jsvariable = <?php echo('\"'.$_POST["userid"].'\"')?>;

代替

var jsvariable = <?php echo($_POST["userid"])?>;

如果userid =&#34; ehdrbs0318&#34;在PHP中, 在javascript中

var jsvariable = ehdrbs0318;

你必须分配像

这样的字符串
var jsvariable = "ehdrbs0318";

答案 2 :(得分:0)

您可以使用json_encode

var jsvariable = <?php echo json_encode($_POST["userid"]) ?>;

如果PHP变量是一个字符串,这将添加必要的引号,但也会很好地响应非字符串值。

作为旁注:您可以使用PHP快捷方式输出值:

var jsvariable = <?= json_encode($_POST["userid"]) ?>;

PHP错误

您(有时)得到的PHP中的错误unexpected T_VARIABLE与您提供的代码无关:它是一个简单的语法错误,这意味着解析器在意外的位置找到了一个变量名。也许你忘了用分号结束之前的陈述,或者你忘了一个右括号或括号....