我已经看到了一些关于将PHP数组传递给外部JavaScript文件的问题,但我无法理解。我知道如何将PHP数组传递给内部JavaScript文件,但不知道如何将它们传递给外部JavaScript文件。
编码
<?php
$a = array("Apple","Orange","Grape");
?>
<script type="text/javascript">
var jArray= <?php echo json_encode($a); ?>;
for(var i=0;i<3;i++){
alert(jArray[i]);
}
答案 0 :(得分:5)
使用此代码, JS文件(test.js)
for(var i=0;i<jArray.length;i++){
alert(jArray[i]);
}
PHP文件(test.php)
<?php
$a = array("Apple","Orange","Grape");
?>
<script type="text/javascript">var jArray =<?php echo json_encode($a); ?>;</script>
<script type="text/javascript" src="test.js"></script>
答案 1 :(得分:3)
您无法直接在外部js
文件中使用php代码,但代码为
<?php
$a = array("Apple","Orange","Grape");
?>
<script type="text/javascript">
var jArray= <?php echo json_encode($a); ?>;
for(var i=0;i<3;i++){
alert(jArray[i]);
}
</script>
I think you can change the code as,
//Declaring the array in php
<?php
$a = array("Apple","Orange","Grape");
?>
//Assigning the json encoded format to javascript
<script type="text/javascript">
var jArray= <?php echo json_encode($a); ?>;
</script>
//You can use the jArray in the external js file
<script type="text/javascript" src="externaljsfile.js" >
答案 2 :(得分:0)
您无法将数据传递到外部javascript文件,就像对内部传递一样。
但是,解决方案可以是:
<script type='text/javascript'>
// here you retrieve datas from PHP and use them as global from your external
var myArray = <?php echo json_encode($a); ?>;
</script>
<script type='text/javascript' src='externalJavascript.js'></script>
否则,另一种解决方案可能是从外部文件获取带有AJAX请求的数据。