Как вставить значения в массив с помощью ответа AJAX?

Да, идентификаторы уникальны. Класс не является.

1
задан Dasmond 18 January 2019 в 06:11
поделиться

5 ответов

использовать каждую функцию библиотеки jquery.

$.each(words, function(index, value) {
    arrayen.push(value);
});
0
ответ дан suneeth 18 January 2019 в 06:11
поделиться

Это происходит потому, что вы используете asynchronous function, то есть $.ajax(). Вот почему ваш оператор console.log(arrayen.length) выполняется первым, а затем вы получаете данные.

Для запуска вашей программы добавьте console statement внутрь success callback. Он убедится, что длина будет напечатана, как только вы получите данные с сервера.

Что такое AJAX?

0
ответ дан vijayscode 18 January 2019 в 06:11
поделиться

Функция успеха в ajax - это функция, запускаемая при успешном выполнении запроса. Поэтому, если вы хотите, чтобы в вашем журнале были результаты вашего успеха, поместите console.log в функцию успеха следующим образом:

$.ajax({
type: 'POST',
url: 'getEnglishWords.php',
success: function(words){
    words = JSON.parse(words);
    for(var i = 0; i < 50; i++) {
        arrayen.push(words[i].en);
    }
    console.log(arrayen.length);

},error: (error) => {
     console.log(JSON.stringify(error));
}
});
0
ответ дан Red Bottle 18 January 2019 в 06:11
поделиться

Поместите console.log(arrayen.length); внутрь, как показано ниже.

    var arrayen = [];
    $.ajax({
        type: 'POST',
        url: 'getEnglishWords.php',
        success: function(words){
            words = JSON.parse(words);
            for(var i = 0; i < 50; i++) {
                arrayen.push(words[i].en);
            }
        },error: (error) => {
             console.log(JSON.stringify(error));
        }
    }).done(function(results) {
        console.log("done : " + arrayen.length);           
});
0
ответ дан Shree 18 January 2019 в 06:11
поделиться
var arrayen = [];
$.ajax({
    type: 'POST',
    url: 'getEnglishWords.php',
    success: function(words){
        words = JSON.parse(words);
        for(var i = 0; i < 50; i++) {
            arrayen.push(words[i].en);
        }
    findArrayLength(arrayen);
    },error: (error) => {
         console.log(JSON.stringify(error));
    }
});

function findArrayLength(x) {
console.log(x.length);
}

AJAX асинхронный и не блокирует браузер. Если вы запускаете Ajax-запрос, пользователь все еще может работать, пока запрос ожидает ответа. Когда сервер возвращает ответ, выполняется обратный вызов для его обработки.

Вы можете сделать XMLHttpRequest синхронным, если хотите, и если вы это сделаете, браузер блокируется, пока запрос не выполнен (поэтому большую часть времени это неуместно)

0
ответ дан Sayed Mohd Ali 18 January 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: