jQuery ajax无法获取复杂的json?

发布于 2022-09-04 20:29:05 字数 1057 浏览 12 评论 0

JSON文件代码如下:

[
{
"name":"炭火烤肉",
"imgsrc":"img/classification.jpg",
"average":167,
"address":"综合楼3楼",
"classify":"bbq",
"recommendation":[
{"food":"和牛拼盘","price":198},
{"food":"精选套餐","price":320},
{"food":"特选牛舌","price":58}
]
}
]

script代码如下:

$.ajax({
   url: "json/food.json",
   type: "post",
   dataType: "json", 
   success: function(data) {
       $.each(data.recommendation, function(i, item) {
            var str = '<div>店名:' + item.food + '人均:' + item.price + '</div>';
            document.write(str);
       })
   },
   error : function(XMLHttpRequest, textStatus, errorThrown) {
    alert(XMLHttpRequest.responseText); 
           alert(XMLHttpRequest.status);
           alert(XMLHttpRequest.readyState);
           alert(textStatus); // parser error;
} 
});

目前的问题是:
$.each()函数里的data.recommendation貌似不能这么用(?),alert显示“内部服务器错误”,错误代码是500,4。
尝试着改成data并把后面的item.food ,item.price改成item.name,item.average能正常获取json(json路径没错)。那如果我想获取recommendation里的food和price该怎么改代码呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

临风闻羌笛 2022-09-11 20:29:05
$.getJSON("json/food.json", function(data) {
       $.each(data.recommendation, function(i, item) {
            var str = '<div>店名:' + item.food + '人均:' + item.price + '</div>';
            document.write(str);
       });
  });

(其实我觉得把post那行删了应该就没问题了,这么写其实就是省字)

倦话 2022-09-11 20:29:05

你上面的json文件里面是一个数组,所以需要访问data[0].recommendation,才能访问到数据;你可以用console.log(data)是一个[object],这样你就知道怎么解决了。

 $.each(data[0].recommendation, function(i, item) {
            var str = '<div>店名:' + item.food + '人均:' + item.price + '</div>';
            document.write(str);
       })
羁拥 2022-09-11 20:29:05

这个json并不复杂,500的话可能先确定是不是服务器问题

爱的故事 2022-09-11 20:29:05

500 是服务器端出错了

·深蓝 2022-09-11 20:29:05

AJAX回调成功后,用console.log(data)先看看服务器传过来的,和你想要的数据是不是一致。
其实500错误,就是服务器错误,和$.each()怎么用没半毛钱关系,别人是无辜的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文