我觉得我在这里兜圈子,错过了一些非常愚蠢的东西......
我的设置基本上是在服务器端使用 CodeIgniter,在客户端使用 Bootstrap,但这有点离题......
我正在尝试在 javascript 函数中调用 php 值。该值存储在其中一个 php Controller 内的一个 protected 变量中,可以通过该 Controller 中加载的 View 访问该变量,因为我直接在 html 中访问该变量(因此我假设我可以在javascript 也是如此)。
代码在这里,非常简单:
$(document).ready(function() {
var UID = "<?php echo $the_user->id; ?>";
console.log(UID);
});
我期待这会做一个控制台输出,比如说,“1”,但它实际上输出的是 "<?php echo $the_user->id; ?>"
的实际字符串.如果我只是回应一个简单的字符串,而不是一个 php 变量,也会发生这种情况。
我觉得这可能是配置问题,但我真的不知道。如果我从 php 调用中删除引号,我会得到一个
TypeError: can't wrap XML objects
console.log(<?php echo $the_user->id ?>);
有什么想法吗?在这一点上我觉得真的很愚蠢:(
最佳答案
如果您看到 <?php echo $the_user->id; ?>
在输出中,这意味着您的文档未被 PHP 解析。
检查文件扩展名,检查它是否确实在您的网络服务器配置中发送到 PHP。
例如,如果您在 .js 文件中添加 PHP 标记,它不会传递给 PHP,如果您使用的是 Apache,则必须添加:
AddType application/x-httpd-php .js
或者在 HTML 中设置变量并将其作为参数发送到外部 Javascript。
关于php - 在 Javascript 中调用 PHP 会产生函数的文字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12698790/