javascript - 如何将 PHP 中的对象转换为 Javascript 中的数组?

标签 javascript php arrays json object

我正在尝试将从 PHP 获得的对象转换为 Javascript 中的数组,但我不知道如何解决这个问题,我尝试了一些在做这个问题之前读过的解决方案,但它不起作用,我PHP 中有这样的东西

$data = explode(',', $articles);

$length = count($data);

for ($i = 0; $i < $length; $i++) {

    $products = explode('-', $data[$i]);

    $product_key = $products[0];
    $quantity    = $products[1];

   $get_data_product = mysqli_query($connection, "SELECT * FROM articles WHERE id_article = '".$product_key."' AND id_user = '".$id_user."'") or die (mysqli_error($connection));
   $get_data_product = mysqli_fetch_assoc($get_data_product);
   $article_name     = $get_data_product['name'];
   $article_price    = $get_data_product['price'];


   $info[$i] = array('name' => $article_name, 'quantity' => $quantity, 'price' => $article_price);
}

echo json_encode($info);

在 JavaScript 中

success: function(info) {

   var data = JSON.stringify(info);

   console.log(data);
}

控制台日志显示此内容

[{"name":"prueba 2","quantity":"4","price":"100"}]

我尝试用代码读取它们,但只有当我使用控制台日志或警报时它才会显示数据

 $.each(data, function(i) {

   $('#content').append('<tr class="text-center">' +
                            '<td>' + data[i].quantity + '</td>' +
                            '<td>' + data[i].name + '</td>' +
                          '</tr>');

});

最佳答案

正如 prodigitalson 在评论中指出的那样 - 实际上就是答案 - 您将数据转换为 PHP 中的 JSON 对象,但随后将其不必要地转换为字符串,因此您根本无法操作它。

例如:JSON.stringify([{test: 1}]) 变为 "[{test: 1}]"

删除它,您将能够以原始方式循环它,或者您可以使用标准 javascript foreach 循环它,其中 data 是包含 的回调中的响应[{"名称":"普鲁巴 2","数量":"4","价格":"100"}]:

data.forEach(function (e) {
    $('#content').append(
        '<tr class="text-center">\n' +
            '<td>' + e.quantity + '</td>\n' +
            '<td>' + e.name + '</td>\n' +
        '</tr>\n'
    );
});

关于javascript - 如何将 PHP 中的对象转换为 Javascript 中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38283464/

相关文章:

javascript - 如何创建一个将对象推送到数组中的函数,当再次推送时它将添加额外的对象

javascript - 如何将外部库附加到 Protractor 配置文件?

javascript - 清除缓存后 JQuery 不工作

javascript - 使用javascript获取asp.net下拉列表的值?

PHP 'smart' 搜索引擎搜索Mysql表的建议

java - Java中使用数组的二叉搜索树

javascript - 谁能解释 JavaScript 中的对象和函数层次结构?就像在 JavaScript 中一样,一切都是从 Object 继承的

php - php中是否可以进行python丰富的比较?

php - 如何使用 mootools1.2 将网页中的损坏图像替换为一些错误图像

python - 当数组数据类型和格式说明符不匹配时,如何将数组堆栈保存到 .csv?