Получить результат из файла Json с помощью Ajax / jQuery

cloude спросил: 31 июля 2018 в 09:48 в: javascript

У меня есть этот 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 ответа

Nishant Dixit ответил: 31 июля 2018 в 09:53

Используйте forEach или for-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);

})
Jackson ответил: 31 июля 2018 в 09:55

Объект данных 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); 
})
cloude ответил: 31 июля 2018 в 09:58
Лучшее решение! работал на меня. большое спасибо вам :)