在Javascript中显示php curl Json数组数据
我试图用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
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