如何从响应ajax获取json值?

时间:2016-01-25 15:11:48

标签: javascript jquery json ajax laravel-5

我的json回复是这样的:

http://imgur.com/WRfauG9

http://www.jsoneditoronline.org/?id=c4ded7d2934f62fb68a276cfb118d52e

我想要显示HotelNo,RmGrade,Meal和TotalRate

我试着这样:

...
    success: function (response) {
                        console.log(response);
                        $.each(response, function() {
                          $.each(this, function(k, v) {
                                // console.log(k);
                                // console.log(v);

                                setTimeout(function () {
                                    $parent.find('.loading').html(v.HotelNo + '<br>' + v.RmGrade + '<br>' + v.Meal + '<br>' + v.TotalRate);
                                }, 2000);

                         });
                        });
                    }
...

但它不起作用

如何正确获取响应ajax的json值?

解决我问题的任何解决方案

非常感谢

2 个答案:

答案 0 :(得分:1)

如果您向我们提供JSON样本,那么很容易为您提供帮助,但在此期间,我建议循环使用response.SearchAvailResponse.Hotel代替response

  success: function (response) {

     $.each(response.SearchAvailResponse.Hotel, function() {
           setTimeout(function () {
                   $parent.find('.loading').html(v.HotelNo + '<br>' + v.RmGrade + '<br>' + v.Meal + '<br>' + v.TotalRate);
                    }, 2000);
    });
}

等待你的JSON。

正如我之前提到的,您只能通过HotelNo循环访问response之类的内容。这是一个有效的解决方案: `

 for(i=0; i<response.SearchAvailResponse.Hotel.length; i++){

           console.log(js.SearchAvailResponse.Hotel[i].HotelNo);

    }

response.SearchAvailResponse.Hotel是一个对象数组。

答案 1 :(得分:0)

假设你正在获得一个阵列。 你不必在循环内循环。

success: function (response) {
                        console.log(response);
                        $.each(response, function(index, v) {


                                setTimeout(function () {
                                    $parent.find('.loading').html(v.HotelNo + '<br>' + v.RmGrade + '<br>' + v.Meal + '<br>' + v.TotalRate);
                                }, 2000);


                        });
                    }