【问题标题】:ForEach Array JavascriptForEach 数组 Javascript
【发布时间】:2017-04-22 20:19:22
【问题描述】:

我在 PHP 中有一个数组,我想循环遍历它。

不幸的是,数组在 JavaScript 中返回了这个:

Array
(
    [data] => 12,11,2,5,6,7,8,9,10,13,14,15,16,17,18
    [0] => 12,11,2,5,6,7,8,9,10,13,14,15,16,17,18
)

而不是:

var myvar = [10, 11, 12, ...];

所以我不能循环遍历它。有什么建议吗?

<?php
    include("connection.php");

    $query = $handler->query('  SELECT data FROM lista where id=1;');
    $query->setFetchMode(PDO::FETCH_BOTH/*, 'CreaPrezzi'*/);
    $r = $query->fetch();

    print_r($r);

    $.ajax({
        type:"POST",
        url:"getSortable.php"
    }).done(function (list) {

        var sortedList = list;
        sortedList.forEach(function(id) {
           $("#" + id).appendTo("#sortable")
        })

    })

【问题讨论】:

标签: javascript jquery ajax foreach


【解决方案1】:
    <?php
    include("connection.php");


    $query = $handler->query('  SELECT data FROM lista where id=1;');
    $query->setFetchMode(PDO::FETCH_BOTH/*, 'CreaPrezzi'*/);
    $r = $query->fetch();

   echo json_encode($r);



            $.ajax({
                type:"POST",
                url:"getSortable.php"
            }).done(function (list) {

                var sortedList = list;

                sortedList.forEach(function(id) {
                    $("#" + id).appendTo("#sortable")
                })

            })

【讨论】:

  • 请解释您所做的更改以及它们为何回答原始问题。不要像这样发布“发现差异”风格的答案。
【解决方案2】:

这种输出确实是您使用print_r 得到的。而是使用json_encode,如下所示:

echo json_encode($r[0]);

然后在 JavaScript 中表明您期待 JSON:

$.ajax({
    type:"POST",
    url:"getSortable.php",
    dataType: "json"    // <!-- add this
}).done( // ...etc

由于$r[0](在 PHP 中)是一个纯字符串,因此您需要在 PHP 或 JavaScript 中将其拆分为一个数组。在 PHP 中可以使用 explode:

echo json_encode(explode(",", $r[0]));

或者使用 JavaScript(但随后使用第一个 PHP 版本)你可以使用 split:

var sortedList = list.split(',');

【讨论】:

  • 看起来这是一个很好的解决方案,但我仍然收到错误。 forEach 不是函数...现在的值在双 quetes 之间
  • 你试过带explode的版本吗?
  • 是的,这就是我得到的:sortedList = "["12","11","2","5","6","7","8","9 ","10","13","14","15","16","17","18"]"
  • 在你的ajax选项中,添加dataType: 'json'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
  • 2015-03-26
  • 1970-01-01
  • 2017-05-02
  • 2018-12-11
  • 2018-06-05
相关资源
最近更新 更多