Как загрузить данные из API? - PullRequest
0 голосов
/ 20 марта 2020

Я сделал это JavaScript (JQuery), чтобы загрузить данные из вызова API, но это дает мне undefined. Вот как это выглядит:

$(document).ready(function(){
    //Autocomplete for Person
    $(function() {
        $.ajax({
            type: 'GET',
            url: urlReq+'/api/persons/1',
            success: function(response) {
                let modelArray = response;
                let dataModel = {};

                for (let i = 0; i < modelArray.length; i++) {
                    dataModel[modelArray[i].first_name] = null;
                    console.log('data is: '+modelArray[i].first_name);
                }

                $('input.autocomplete_person').autocomplete({
                    data: dataModel,
                });
            }
        });
    });
});

, где my urlReq+'/api/persons/1' возвращает что-то вроде этого:

{"452":{"id":452,"reference":"20190528155926096","first_name":"John","middle_name":"Smith","third_name":null,"family_name":"Doe"}}

, но моя проблема в том, что моя консоль дает мне это: data is: undefined

Ответы [ 2 ]

1 голос
/ 20 марта 2020
 {"452":{"id":452,"reference":"20190528155926096","first_name":"John","middle_name":"Smith","third_name":null,"family_name":"Doe"}}

Это не массив, поэтому вы не можете перебирать его.

0 голосов
/ 20 марта 2020

Вы можете удалить для l oop и просто назначить ответ напрямую:

let firstName = response[0].first_name; // "John"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...