代码如下所示:
PHP文件
<?php
...
$arrayName = ['ArrayValue_0', ..., 'ArrayValue_n'];
...
php?>
的JavaScript
$('.elementClass').each(function(index, id) {
$(id).html('<?php echo $arrayName[index - 1]?>');
});
但是你不能只是将这样的JavaScript变量插入到php标签中,因此永远不会收到索引。 我知道这可以通过AJAX完成,但还有其他方法吗?提前谢谢。
其他信息: 我被告知要在PHP中执行此操作,因此无法将数组切换到JS文件。
答案 0 :(得分:7)
您可以在JS中定义arrayName
变量,并使用服务器中的值对其进行初始化:
var arrayName = <?php echo json_encode($arrayName); ?>;
$(".elementClass").each(function(index, id) {
$(id).html(arrayName[index-1]);
});
答案 1 :(得分:1)
你要做的事情是行不通的。例如:
$(id).html('<?php echo $arrayName[index - 1]?>');
上述内容永远不会有效,因为PHP在服务器上运行,而不是在用户的浏览器上运行。
您需要做的是以某种方式将变量发送到服务器。你有很多选择:
$_POST
变量$_GET
变量请记住,PHP在服务器上运行,该服务器呈现页面,然后由运行Javascript的浏览器读取该页面。你不能将PHP代码粘贴到页面中,并期望它被PHP解析!
答案 2 :(得分:0)
如果您希望从中获取信息(PhP在服务器上运行),您需要返回服务器,因此,在加载包含PhP完整内容的页面时,您可以动态创建一个javascript变量数组,要么使用ajax返回服务器而不刷新整个页面。