#javascript #jquery #ajax #post #get
Необходимо отправить Ajax запрос и в случае успеха отправить второй с данными из первого. Я пробовал вот так но ошибки и результат не выводит.
Ответы
Ответ 1
Используйте промисы, а именно чейнинг. Это идеальное решение для Вашего случая. // сделать запрос $.get('https://learn.javascript.ru/article/promise/user.json') // 1. Получить данные о пользователе в JSON и передать дальше .then(response => { console.log(response); let user = JSON.parse(response); return user; }) // 2. Получить информацию с github .then(user => { console.log(user); return httpGet(`https://api.github.com/users/${user.name}`); }) // 3. Вывести аватар на 3 секунды (можно с анимацией) .then(githubUser => { console.log(githubUser); githubUser = JSON.parse(githubUser); let img = new Image(); img.src = githubUser.avatar_url; img.className = "promise-avatar-example"; document.body.appendChild(img); setTimeout(() => img.remove(), 3000); // (*) }); При чейнинге, то есть последовательных вызовах .then…then…then, в каждый следующий then переходит результат от предыдущего.
Комментариев нет:
Отправить комментарий