使用Ajax / jQuery从Json文件获取结果

时间:2018-08-24 11:28:05

标签: javascript jquery json ajax

我有这个Json文件:

   [{ "id": "2719986", "orario": "00:30", "casa": "Bahia", "trasferta": "Internacional" } , { "id": "2719991", "orario": "02:00", "casa": "Palmeiras", "trasferta": "Botafogo RJ" }]   

我正在尝试使用ajax方法提取,但是响应未定义。

  $.ajax({
      type: "GET",
      url: "load.php",
      success: function(data) {           
          var data = jQuery.parseJSON(data);              
          var id = data.id;
          var orario = data.orario;
          var casa = data.casa;
          var trasferta = data.trasferta;
          var matches = orario+" "+casa+" "+trasferta+"";                         
          console.log(matches); 
        }
    });

谢谢大家!

2 个答案:

答案 0 :(得分:1)

使用forEachfor-loop提取数据object,您的数据来自array

    $.ajax({
        type: "GET",
        url: "load.php",
        success: function(response) {
            var response = jQuery.parseJSON(response);
            response.forEach(function(data) {
                var id = data.id;
                var orario = data.orario;
                var casa = data.casa;
                var trasferta = data.trasferta;
                var matches = orario + " " + casa + " " + trasferta + "";
                console.log(matches);
        })
    }
});

var response = [{
    "id": "2719986",
    "orario": "00:30",
    "casa": "Bahia",
    "trasferta": "Internacional"
}, {
    "id": "2719991",
    "orario": "02:00",
    "casa": "Palmeiras",
    "trasferta": "Botafogo RJ"
}];

response.forEach(function(data) {
    var id = data.id;
    var orario = data.orario;
    var casa = data.casa;
    var trasferta = data.trasferta;
    var matches = orario + " " + casa + " " + trasferta + "";
    console.log(matches);

})

答案 1 :(得分:1)

您定义的JSON数据对象包含两个数组。

在ajax成功回调中,您需要像这样遍历数组项:

data = JSON.parse(data); //No need to use jQuery parse here
data.forEach(function(dataItem){
    var id = dataItem.id;
    var orario = dataItem.orario;
    var casa = dataItem.casa;
    var trasferta = dataItem.trasferta;
    var matches = orario+" "+casa+" "+trasferta+"";                         
    console.log(matches); 
})