我有一个Javascript变量,我将PHP变量设置为。
function cancel(number) {
var message = "<?= $message[" + number + "]; ?>";
}
$ message是一个数组。 “number”是我想要设置消息的数组的元素。基本上,我想使用Javascript变量作为元素选择器将Javascript变量设置为PHP变量。因此,如果“number”为2,则会选择:
$message[2];
但是,上述方法不起作用,我甚至不确定这是否可行。
答案 0 :(得分:2)
不是。使用XHR从服务器检索值。
答案 1 :(得分:2)
似乎根本不可能; PHP在服务器端进行评估,javascript在客户端进行评估。所以PHP会将其视为$message["+number+"]
,并尝试在"+number+"
的索引处找到该值。您可能需要执行类似AJAX请求的操作来获取您正在寻找的数据。
答案 2 :(得分:1)
你在做什么是不可能的;因为php是服务器端语言,所以首先执行它,然后执行js;没有办法控制哪个先执行。您必须使用AJAX检索变量。
答案 3 :(得分:1)
您无法使用此方法执行此操作。 PHP是服务器端代码,意味着它在服务器上运行,而JavaScript是客户端代码,这意味着它在客户端或浏览器上运行。
PHP运行后,它会生成一个HTML文档,并在响应中将该文档发送到浏览器。一旦完成,将数据返回服务器的唯一方法是通过表单POST发送,通过AJAX发送,或通过脚本标记远程发送。
考虑在互联网上查看如何通过表单和AJAX将数据发回服务器的一些示例。很明显,您正在努力解决有关如何正确构建程序的一些概念,并且查看一些示例将是您学习和掌握这些技术的好方法。
答案 4 :(得分:1)
这样的事情会起作用:
<script type="text/javascript">
var messages = <?= json_encode($message) ?>;
function cancel(number) {
var message = messages[number];
}
</script>
当然这会在JavaScript源代码中输出整个数组。如果它很大,那么你最好使用AJAX。
提示:如果您“查看源代码”,那么为什么您的方法不起作用应该是非常明显的。
答案 5 :(得分:-2)
您需要使用AJAX调用来解决您的问题。