【问题标题】:Looping through my PHP result using Jquery使用 Jquery 循环遍历我的 PHP 结果
【发布时间】:2013-08-02 23:58:03
【问题描述】:

我已经搜索了这些帖子,但我找不到任何可以使用的东西。

我希望在解决方案方面得到一些帮助,但更重要的是,如果有人有几分钟的时间,您能否解释一下您是如何深入研究对象数组的?我有大约 5 种不同的格式,我将此查询发送到 jquery,我最大的问题是我不知道如何开始挖掘数组/对象。即我将像这样访问第一个元素,现在我有了它,我将像这样获得第二个元素......等等。

我的对象/数组的当前布局设置为每个对象都有一个数组。我的想法是,对象是行,数组是字段。我将它设置为关联数组,因为我认为我可以更轻松地访问所有内容,但我的问题是我只是在阅读帖子,并且真的在猜测。我想要一个具体的解释,这样我就可以随时访问任何类型的对象/数组,而不必再次询问。

{
    "myArray1":
    {
         "Caption" : "First Caption",
         "Message" : "First Message",
         "Post_date" : "2013-08-02 18:24:33",
         "Name: "Author"
    },
    "myArray2":
    ....

这是我的 PHP。

 while($rRow = mysqli_fetch_array($selResult))
      {
          $row = Array();
          foreach($fldArray as $fld)
          {
             $row[$fld] = $rRow[$fld];
          }
          $count = $count + 1;
          $output["myArray".$count] = $row;
      }
      $output = json_encode($output);
      echo $output;

【问题讨论】:

  • 那里没有数组。这些只是嵌套的对象。从 JSON 解析为 javascript 对象后,您会像这样访问它:obj.myArray1.Captionobj.myArray2.Message 等。您实际上是在尝试创建数组而不是对象吗?如果是这样,您应该显示您的 PHP 代码以接收关于那里出了什么问题的反馈。
  • 我更新以显示 PHP...我正在尝试找到最佳解决方案来获取我的结果并将它们发送到 javascript,然后将它们放入 HTML 表中。
  • JSON/javascript 的问题是没有像 PHP 中那样的关联数组的概念。所以关联数组会在json_encode()进程中自动转换为对象。
  • 如果您只是将$output["myArray".$count] = $row 更改为$output[] = $row,那么您最终会得到一个可能更有意义的对象数组(除非您实际上将含义附加到myArrayX 命名约定)。在这种情况下,一旦您将 JSON 解析为 javascript(这一次它创建一个数组),您将访问 array[0].Captionarray[1].Message 等。
  • 我试过了 - console.log(data.myArray1.Caption);它说 data.myArray1 未定义。数据是我在回调函数中收到的。我知道数据有结果,因为当我将整个变量打印到控制台时,它会打印出来。我将尝试按照您的说明更改我的 PHP。

标签: jquery arrays json object get


【解决方案1】:

好的,我忘记将我的 JSON 字符串解析回一个对象,这就是我无法访问任何内容的原因。

Mike Brant 的回答也很有帮助。

谢谢。

【讨论】:

    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 2015-10-05
    • 2016-06-07
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    相关资源
    最近更新 更多