如何使用AJAX在Javascript中索引PHP数组?
我对PHP和Javascript非常陌生。我想使用PHP函数来获取数据库数据作为数组,并能够在Javascript中使用它。我很抱歉,我在网上搜索过,但我没有发现任何对我的特殊情况有帮助的东西。我如何在Javascript中获得数组并能够像这样使用它:如何使用AJAX在Javascript中索引PHP数组?,javascript,php,arrays,ajax,Javascript,Php,Arrays,Ajax,我对PHP和Javascript非常陌生。我想使用PHP函数来获取数据库数据作为数组,并能够在Javascript中使用它。我很抱歉,我在网上搜索过,但我没有发现任何对我的特殊情况有帮助的东西。我如何在Javascript中获得数组并能够像这样使用它: var arrayJS = arrayFromPhp; 我的PHP代码如下: <?php function fetch(){ $link = mysqli_connect("localhost", "root",
var arrayJS = arrayFromPhp;
我的PHP代码如下:
<?php
function fetch(){
$link = mysqli_connect("localhost", "root", "Southflorida8", "test");
if ($result = mysqli_query($link, "SELECT * FROM aircraft")){
if (!mysqli_query($link, "SET @a:='this will not work'")) {
printf("Error: %s\n", mysqli_error($link));
}
$array = mysqli_fetch_all($result);
mysqli_free_result($result);
return json_encode($array);
}
}
if (isset($_POST['fetch'])){
echo fetch();
}
?>
试试这个
$.ajax({
url: 'server.php',
type: 'post',
data: 'fetch',
success: function(array) {
array = JSON.parse(array);
console.log(array);
}
});
**编辑:**并更新您的php代码。
替换
$array=mysqli\u fetch\u all($result)代码>带有$array=mysqli\u fetch\u all($result,mysqli\u ASSOC)代码>它在哪里失败?你得到JSON了吗,AJAX请求会发送到服务器吗?我不懂PHP,所以我不能帮助回答这个问题,但我相信你不是说“索引”,而是说“迭代”。一个人迭代一个数组。因此,使用该术语搜索可能会返回以前找不到的有用答案。我认为您在alert中获得JSON…?为了更好地进行调试,请使用console.log
而不是alert
@Flower如果您获得的是Uncaught ReferenceError
您可能没有包括jquery库,你确定你已经正确地包含了它吗?我收到了这个错误:uncaughtreferenceerror:$未在phpconnect.php:65定义。这一行对应于“$.ajax({)”你能注释掉array=JSON.parse(array)吗
line。那么,告诉我,控制台中写了什么?您添加了jquery js吗?是的,这修复了以前的问题。但是我现在有一个新错误:Uncaught TypeError:无法读取undefined的属性“1”。由于某些原因,它没有读取我试图索引的数组元素。请您现在注释掉array=JSON.parse(array)
line?我们需要知道它返回了什么。
$.ajax({
url: 'server.php',
type: 'post',
data: 'fetch',
success: function(array) {
array = JSON.parse(array);
console.log(array);
}
});