Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2014, 10:52
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Действие после выполнение Ajax запроса
Я с помощью Ajax отправляю данные php скрипту и последний после обработки данных даёт ответ. Необходимо, чтобы страница ждала ответа и в зависимости от него производились действия. Подскажите, как этого добиться?

У jQuery.ajax() есть два на мой взгляд подходящих кандидата: complete и success. Чтение документации мне не помогло понять, какой их них будет ждать ответа от скрипта, а какой запустится сразу после корректной отправки запроса. Правильно ли я понял, что именно этим они отличаются?
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2014, 11:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

success будет вызван только при успешном запросе. А complete - при любом исходе. Допустим у юзера во время запроса отвалится интернет-соединение. Или твой сервер из-за косяка твоего хостера уйдет в аут. При таких обстоятельствах будет вызван error колбэк, а затем - complete.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2014, 14:16
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Запрос ушёл, а как узнать что ответ пришёл? Предположим, что скрипту надо 30 секунд и потом он выдаёт результат. Пинговать каждую секунду что-ли?
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2014, 15:07
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

paveltkachev, кури callback)
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2014, 16:08
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

А этот курительный callback сам как работает? Пингует?
Ответить с цитированием
  #6 (permalink)  
Старый 23.12.2014, 17:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от paveltkachev
Пингует?
HTTP протокол работает по схеме запрос-ответ. Так что не нужно ничего пинговать. Отправили запрос - получили ответ. Для $.ajax это complete/success/error либо промисы (Deferred).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 23.12.2014, 17:58
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

paveltkachev, кури XMLHttpRequest
Ответить с цитированием
  #8 (permalink)  
Старый 23.12.2014, 18:20
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Возникли ещё вопроса по Ajax.

Читал рекомендации использовать метод пересылки GET, так как он работает быстрее.
Насколько быстрее?
Какой максимальный объём данных может быть передан?
Если передаются русские буквы, то они кодируются 4 байтами?
Ответить с цитированием
  #9 (permalink)  
Старый 23.12.2014, 18:36
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Сообщение от paveltkachev
пересылки GET, так как он работает быстрее.
буквально моментальный т.к. стандарт рекомендует брать данные из кэша браузера а не отправлять запрос на сервер.
Ответить с цитированием
  #10 (permalink)  
Старый 24.12.2014, 11:15
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Сообщение от MallSerg Посмотреть сообщение
буквально моментальный т.к. стандарт рекомендует брать данные из кэша браузера а не отправлять запрос на сервер.
А какой объём данных можно передавать? До IE 9, я слышал можно было только несколько килобайт.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает плагин сразу после AJAX запроса Kikoma jQuery 3 25.05.2014 09:34
после ajax запроса не работает перемещение. Scotti AJAX и COMET 3 31.10.2013 14:26
прерывание ajax запроса belbek Общие вопросы Javascript 2 12.10.2010 09:45
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
Выполнение JavaScript в Ajax petr0007 Общие вопросы Javascript 0 17.10.2009 06:47