当前位置:  开发笔记 > 编程语言 > 正文

JavaScript无法从PHP json_encode中找到JSON数据

如何解决《JavaScript无法从PHPjson_encode中找到JSON数据》经验,为你挑选了1个好方法。

这里的想法是使用MySQL数据库表中的一些产品自动加载(或加载)我的索引页面.

首先,我的PHP.

getRows('SELECT * FROM products');

foreach($items as $eachItem){
    $itemsJSON = new Item($eachItem->product_name, $eachItem->product_quantity, $eachItem->product_cost);
    echo json_encode($itemsJSON);
}

这似乎工作得很好,并给了我两个正确编码我的Item类的JSON对象.

{"name":"Slippers","quantity":"3","cost":"4.00"}
{"name":"Gloves","quantity":"5","cost":"9.00"}

我的JavaScript看起来像这样(以及许多其他类似的变体)

$(document).ready(function () {
    $.post( "productloader.php", function( data ) {
        $( "#result" ).html( data );
    });
});

我不确定为什么它不起作用.我不想使用$.getJSON()因为没有查询字符串可以使用,所以我认为我需要$.post().

这似乎是一个非常普遍的问题,但我还没有找到解决方案.任何帮助,将不胜感激.谢谢.



1> miken32..:

你不能json_encode()分开每个项目.您发送到浏览器的数据不是有效的JSON,只是许多小块的有效JSON一个接一个.在循环中构建一个数组,然后编码整个数组.另见http://jsonlint.com/

getRows('SELECT * FROM products');

foreach($items as $eachItem){    
    $itemsJSON[] = new Item($eachItem->product_name, $eachItem->product_quantity, $eachItem->product_cost);
}

echo json_encode($itemsJSON);

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有