Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AJAX在Javascript中索引PHP数组?_Javascript_Php_Arrays_Ajax - Fatal编程技术网

如何使用AJAX在Javascript中索引PHP数组?

如何使用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",

我对PHP和Javascript非常陌生。我想使用PHP函数来获取数据库数据作为数组,并能够在Javascript中使用它。我很抱歉,我在网上搜索过,但我没有发现任何对我的特殊情况有帮助的东西。我如何在Javascript中获得数组并能够像这样使用它:

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);
        }
    });