我想从php文件中将php数组加载到javascript文件中的javascript数组中。
最初,我只是在php文件中执行var wordsArray = <?php echo json_encode($wordsArray) ?>;
来获取它,但现在我已将所有Javascript函数都放在.js
文件中,该文件无法运行PHP。是否有可以返回php数组的$.get
函数?
类似的东西:
JavaScript:Utilities.js文件
$.get("php/Quests.php", {},
function(returned_data) {
var wordsArray = returned_data;
}
);
PHP:Quests.php文件
<?php
include 'DbConnect.php';
$sql = $mysqli->query(
"SELECT t.*, v.*
FROM task t
INNER JOIN vocabtask vt ON (t.id = vt.taskid)
INNER JOIN vocab v ON (v.id = vt.vocabid)
WHERE vt.taskid = 1");
$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
$wordsArray[$row['chinese']] = $row['english'];
}
mysqli_close($mysqli);
//return php array as json_encoded to js file through get function
echo json_encode($wordsArray);
?>
编辑:
或者代替$ .get,我尝试在PHP文件上执行此操作:
echo "<script type='text/javascript'> var wordsArray =json_encode($wordsArray); </script>";
然后在JS中执行:
alert(wordsArray[1]);
这样的事情会起作用吗?
答案 0 :(得分:1)
try this.
echo "<script type='text/javascript'> var wordsArray = " . json_encode($wordsArray) . ";
//this will output the contents of wordsArray into the console
console.dir(wordsArray);
// check the console. f12 or ctrl+shift+k
</script>";
答案 1 :(得分:1)
如果您的PHP返回JSON编码的数据,您可以使用JSON.parse
在Javascript中解析它:
function(returned_data) {
returned_data = JSON.parse(returned_data);
}
returned_data
现在将是一个JSON对象,而不是原始字符串。