Я не могу понять, почему он выполняет сначала 1, потом 3, потом 2?
Снизу код, а еще ниже - вывод консоли.
Тут есть какая-то джаваскриптерская хитрость или я что-то не понимаю?
function serverRequest(url, params) {
var ajaxContent = null;
if (params === undefined) {
console.log('without parameters'); // 1
$.ajax({ // 2
url: '../backend/' + url + '.php',
success: function (data) {
console.log('response : ' + data);
ajaxContent = JSON.parse(data);
console.log('response parse : ' + ajaxContent);
},
error: function (data) {
ajaxContent = "error";
console.log('ERROR');
},
});
console.log('ajaxContent = ' + ajaxContent); // 3
}
}
AJAX — Asynchronous Javascript And Xml (асинхронный JavaScript и XML). Это значит, что пока идёт передача данных, пользователь может совершать другие, необходимые ему действия.
Перецитировав одного из великих
Проблема в том, что в коде нет операции ожидания. Ни подписка на событие, ни AJAX-вызов, ни даже вызов API не ждут поступления данных - а сразу же передают управление дальше.
Поэтому строка console.log('ajaxContent = ' + ajaxContent);
выполняется ДО того, как переменная ajax получит ответ.
Есть функция, которая перебирает все элементы на странице с определённым классом и поочерёдно сбрасывает с них стили:
Есть конкретный слайдер SwipeОн может работать и с jquery, и без
Здравствуйте! Сразу скажу, что jQuery, точнее JavaScript, ведь jQuery - библиотека, начал изучать не давно, как и вообщем HTML, CSS
В ES проводнике есть функция открытия доступа к файлам посредством локальной сети через FTPДевайс выступает в роли FTP сервера