jquery中的echo不按预期输出

时间:2016-05-31 10:01:05

标签: php jquery

我在stackoverflow上发现了如何在jquery中使用php变量,但是在我的测试页面上,它根本不起作用:

$('#q').keyup(function(e) {
  var test = "<?php echo 'test123'; ?>";
  alert(test);
});

上面的代码在字面上输出“”我希望它说“test123”。我尝试使用单引号而不是双引号,其他小改动......没有让它工作。我错过了什么吗?

上面的代码位于.jp文件中,该文件链接在.php页面中,该文件通过require_once(再次)链接到我的index.php文件中。

1 个答案:

答案 0 :(得分:1)

您不应在javascript文件(.js)中使用 PHP 。 Javascript和PHP是不同的语言。 PHP在服务器端工作,在客户端工作Javascript。

您必须将此代码放在<head> jquery.js文件下,如下所示:

<script type="text/javascript" src="link-to-jquery-file.js"></script>
<script type="text/javascript">
$('#q').keyup(function(e) {
    var test = "<?php echo 'test123'; ?>";
    alert(test);
});
</script>

另外,请确保您的文件扩展名以.php

结尾

还有一个高级解决方案,即使用header()函数。保存为javascript.php或某些示例:

<?php
header("Content-Type: text/javascript");
?>
$('#q').keyup(function(e) {
    var test = "<?php echo 'test123'; ?>";
    alert(test);
});

然后将文件附加到<head>中,如下所示:

<script type="text/javascript" src="javascript.php"></script>

古德勒克!