【问题标题】:How do I index through a PHP array in Javascript using AJAX?如何使用 AJAX 通过 Javascript 中的 PHP 数组进行索引?
【发布时间】:2017-10-24 03:33:13
【问题描述】:

我对 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();
    }
?>

这里是 Javascript:

var array = [];



           $.ajax({
                url: 'server.php',
                type: 'post',
                data: 'fetch',
                datatype: 'json',
                success: function(array) {alert(array);}
            });
 pubnub.publish({channel:pnChannel, message:{lat:array[0][1] , lng:array[0][2] }});

【问题讨论】:

  • 哪里失败了?是否返回 JSON,AJAX 请求是否到达服务器?
  • 我不懂 PHP,所以我对这个问题本身无能为力,但我相信你指的是“迭代”而不是“索引”。一个遍历数组。因此,使用该词进行搜索可能会返回您以前无法找到的有用答案。
  • 我认为您收到 JSON 警报...?
  • 为了调试,最好使用console.log而不是alert
  • @Flower 如果你收到Uncaught ReferenceError,你可能没有包含 jquery 库,你确定你已经正确包含了吗?

标签: javascript php arrays ajax


【解决方案1】:

试试这个。

    $.ajax({
        url: 'server.php',
        type: 'post',
        data: 'fetch',
        success: function(array) {
             array = JSON.parse(array);
             console.log(array);
        }
    });

**编辑:** 并且更新您的 php 代码。

$array = mysqli_fetch_all($result); 替换为$array = mysqli_fetch_all($result, MYSQLI_ASSOC);

【讨论】:

  • 我收到这个错误:Uncaught ReferenceError: $ is not defined at phpconnect.php:65 这行对应于"$.ajax({"
  • 你能把array = JSON.parse(array)这一行注释掉吗?那么,告诉我,控制台写了什么?
  • 你添加了jquery js吗?
  • 是的,这解决了之前的问题。但我现在有一个新错误:Uncaught TypeError: Cannot read property '1' of undefined。由于某种原因,它没有读取我试图索引的数组元素
  • 您现在注释掉array = JSON.parse(array) 行了吗?我们需要知道它返回了什么。
猜你喜欢
  • 1970-01-01
  • 2018-05-02
  • 2017-07-21
  • 2023-03-22
  • 1970-01-01
  • 2011-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多