在Javascript中显示php curl Json数组数据

在Javascript中显示php curl Json数组数据,javascript,php,arrays,json,curl,Javascript,Php,Arrays,Json,Curl,我试图用javascript显示PHP curl json数组数据 function loadData(){ $.post('json.php', function(response){ $.each(JSON.parse(response), function(i,v){ $('.info').append('<li><div class="msg-lhs"><span>'+v.id+'</span> <span

我试图用javascript显示PHP curl json数组数据

    function loadData(){
$.post('json.php',
function(response){

    $.each(JSON.parse(response),

function(i,v){  


$('.info').append('<li><div class="msg-lhs"><span>'+v.id+'</span> <span>'+v.food+'</span> <span>'+v.Amount+'</span> <span>'+v.condition+'</span></div></li>');

});

$('.info').animate({scrollTop: $('.info').prop("scrollHeight")}, 500);

});
如果我回应

// curl output

$response = curl_exec($curl);
echo $response; 
我将有以下格式的数据作为我的输出

{"items":[{"id":"1","food":"rice","Amount":"100","condition":"paid"},
{"id":"2","food":"beans","Amount":"200","condition":"paid"},
{"id":"3","food":"yam","Amount":"50","condition":"not paid"},
{"id":"4","food":"tomatoes","Amount":"100","condition":"paid"},
{"id":"5","food":"potato","Amount":"700","condition":"paid"}]}
问题是如何用Javascript显示数据

我尝试了下面的代码,但出现错误“
Undefine

有人能帮我吗

下面是我的Javascript输出代码

    function loadData(){
$.post('json.php',
function(response){

    $.each(JSON.parse(response),

function(i,v){  


$('.info').append('<li><div class="msg-lhs"><span>'+v.id+'</span> <span>'+v.food+'</span> <span>'+v.Amount+'</span> <span>'+v.condition+'</span></div></li>');

});

$('.info').animate({scrollTop: $('.info').prop("scrollHeight")}, 500);

});
函数loadData(){
$.post('json.php',
功能(响应){
$.each(JSON.parse(响应),
函数(i,v){
$('.info')。追加('
  • '+v.id+'+v.food+'+v.Amount+'+v.condition+'
  • '); }); $('.info').animate({scrollTop:$('.info').prop(“scrollHeight”)},500); });
    我不知道你的代码到底出了什么问题,但我想出了一种稍微不同的方法,效果很好

    注意:假设您从
    curl
    请求中获取数据,则可以。
    只需在循环迭代之外解析结果,并使用
    forEach
    loop

    var response = '{"items":
         [{"id":"1","food":"rice","Amount":"100","condition":"paid"},\
          {"id":"2","food":"beans","Amount":"200","condition":"paid"},\
          {"id":"3","food":"yam","Amount":"50","condition":"not paid"},\
    
          {"id":"4","food":"tomatoes","Amount":"100","condition":"paid"},\
          {"id":"5","food":"potato","Amount":"700","condition":"paid"}]}';
    var parsed = JSON.parse(response)
    parsed.items.forEach(function(v) {
    $('.info').append('<li><div class="msg-lhs"><span>'+v.id+'</span>    
        <span>'+v.food+'</span> <span>'+v.Amount+'</span> 
        <span>'+v.condition+'</span></div></li>');
    });
    $('.info').animate({scrollTop: $('.info').prop("scrollHeight")}, 500);
    
    var response='{“items”:
    [{“id”:“1”,“食品”:“大米”,“金额”:“100”,“条件”:“已付”}\
    {“id”:“2”,“食物”:“豆类”,“金额”:“200”,“条件”:“已付”}\
    {“id”:“3”,“食品”:“yam”,“金额”:“50”,“条件”:“未付款”}\
    {“id”:“4”,“食品”:“西红柿”,“金额”:“100”,“条件”:“已付”}\
    {“id”:“5”,“食品”:“土豆”,“金额”:“700”,“条件”:“已付”}]};
    var parsed=JSON.parse(响应)
    解析的.items.forEach(函数(v){
    $('.info').append('
  • '+v.id+' “+v.食物+”+v.数量+” “+v.condition+”
  • ); }); $('.info').animate({scrollTop:$('.info').prop(“scrollHeight”)},500);

    这里是您想要访问的数组,它位于键
    items
    中,您需要迭代如下:
    JSON.parse(response)。items
    我该怎么做…用
    JSON.parse(response)
    替换
    JSON.parse(response)。items
    。如果它有效,请思考原因,如果没有,请告诉我错误:p