此问题中使用的方法是错误的。正如评论中所提到的,PHP是服务器端处理,JS是客户端处理(浏览器)。 2不应混合。
看起来像一个显而易见的解决方案的微不足道的问题。我有一个PHP文件,通过帖子加载。在本文档中,我可以检索发布的值:
$userid = $_POST["userid"];
然后在$(document).ready(function()
中的Javascript中,我试图将post值分配给Javascript变量:
var jsvariable = <?php echo($_POST["userid"])?>;
在js错误或语法错误中保持变量未定义,在PHP中出现意外T_VARIABLE 错误。
请告知我如何成功检索此值。
答案 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中的错误unexpected T_VARIABLE
与您提供的代码无关:它是一个简单的语法错误,这意味着解析器在意外的位置找到了一个变量名。也许你忘了用分号结束之前的陈述,或者你忘了一个右括号或括号....