API вызывает консольный журнал возвращает пустой массив, но прекрасно работает в POST почтальона - PullRequest
0 голосов
/ 16 марта 2019

У меня есть вызов (POST) к API, который возвращает такие данные:

"DATA": [
    {
        "type": "4",
        "title": "Promo",
        "cards": [
            {
                "image1": "http://url/image.jpg",
                "status": "0"
            },
        ]
    }]

Postman result Image

Проблема в том, что когда я пытался получить к нему доступ через console.log, он возвращает пустой массив следующим образом:

Array[]

Мой код:

$.ajax({
    url: "https://url/to/API/",
    type: "POST",
    data: {
        USERID: userid,
        TOKEN: token,
        APP_TYPE: appType
    },

    success: function(response){   
        // Promo Cards
        var promo = response.DATA[3].cards;

        console.log(promo);
    },
}); 

Примечание: данные, к которым я пытаюсь получить доступ, являются четвертыми в массиве, поэтому я использую response.DATA[3]

Где я сделал не так?

Ответы [ 2 ]

0 голосов
/ 16 марта 2019

попытайтесь реорганизовать ваш вызов jQuery с

[..]
success: function(response){   
        // Promo Cards
        var promo = response.DATA[3].cards;

        console.log(promo);
    },

на

complete: function(xmlHttpRequest){

  // raw contains your data structure
  let raw = xmlHttpRequest.responseJSON;

  // cards will contain the information you're looking for
  let cards = raw.DATA[3]cards;

  console.log('cards:', cards);
  console.log('the whole data:' raw), 
},

Наслаждайтесь.

0 голосов
/ 16 марта 2019

Вы можете попробовать приведенный ниже код и сообщить мне, как он работает.

$.ajax({
 url: "https://url/to/API/",
 type: "POST",
 dataType:"JSON",
 data: {
     USERID: userid,
     TOKEN: token,
     APP_TYPE: appType
 },

 success: function(response){   
     // Promo Cards
     var r = JSON.parse(response);
     console.log(r.DATA[3].cards);
 },
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...