如何将PHP变量的值放在Javascript变量中?这就是我现在在js文件中的内容:
test=<?php echo $country; ?>;
Run Code Online (Sandbox Code Playgroud)
在将变量传递给JavaScript之前,不要忘记正确地转义变量.使用json_encode()这个,因为它逃脱,并适用于JavaScript的使用方式编码你的价值观:
test=<?php echo json_encode($country) ?>;
Run Code Online (Sandbox Code Playgroud)
永远不要简单地发送未编码的变量,因为它可能会破坏事物,或者更糟糕的是,如果值来自不受信任的来源,则会危及您的安全性.
此外,您的文件重命名为.php代替.js,如果你希望能够插入里面动态PHP代码.
请记住,浏览器并不关心服务器端 (PHP) 代码是什么。它只关心渲染的代码(Javascript 和 HTML)是什么样子的。所以你的PHP
test=<?php echo $country; ?>;
Run Code Online (Sandbox Code Playgroud)
会出现这样的结果,假设$country是一个字符串:
test=USA
Run Code Online (Sandbox Code Playgroud)
这是有效的 Javascript,但它没有设置test为具有值USA。它设置test为变量的值USA,这几乎是肯定的undefined。您需要使用引号来创建 Javascript 字符串文字:
test="<?php echo $country; ?>";
Run Code Online (Sandbox Code Playgroud)
这将呈现如下:
test="USA";
Run Code Online (Sandbox Code Playgroud)
并会做你所期望的事情。
我现在看到你提到该文件是一个 js 文件。上面我假设它是一个标准的 PHP-with-HTML 文件。事实上,以上所有内容仍然有效。然而,将 PHP 脚本作为 Javascript 提供只是稍微有点棘手。
首先,命名您的文件filename.php(或您想要的任何其他名称)。这是迄今为止让网络服务器知道用 PHP 解析它的最简单的方法。然后使用以下指令让浏览器知道该文件是Javascript内容:
header('Content-Type', 'text/javascript');
Run Code Online (Sandbox Code Playgroud)
在将任何内容发送到浏览器之前,将其放在文件的最顶部。然后您可以根据需要包含 PHP 变量。