Вопрос по jQuery AJAX - PullRequest
       3

Вопрос по jQuery AJAX

3 голосов
/ 23 июня 2011

У меня есть несколько вопросов по jQuery AJAX.

  1. Смущает понимание того, почему существует несколько методов, таких как load (), get (), post (). Разница только в том, что $ .ajax - это общий способ записи, а другие - в зависимости от типа. ..

  2. Я не совсем понимаю разницу между завершением, успехом ... Они похожи или есть какие-либо различия относительно того, когда каждый из них должен использоваться?

  3. С точки зрения выполнения скрипта из ответа HTML, JQuery AJAX обрабатывает его автоматически ИЛИ нам нужно указать что-то вроде eval ()? Кроме того, насколько отличается это поведение по сравнению с обычной обработкой AJAX?

  4. Относительно beforeSend, похоже ли оно на ajaxSetup и вообще говоря, какие общие атрибуты используются из множества доступных?

Отредактировано

  1. Также код написан как обратный вызов для load () .. например. нагрузка (URL, функция () {}); То же самое, что упоминается в разделе «успех» или «ajaxSuccess». Я имею в виду, что код функции обратного вызова не будет представлен одновременно с «успехом» или ajaxSuccess?

Спасибо.

Ответы [ 2 ]

11 голосов
/ 23 июня 2011

1) вам нужно понимать HTTP.get и post делают запросы "GET" и "POST" соответственно, что полезно, если вы создаете сервис RESTful.РЕДАКТИРОВАТЬ: я на самом деле не вижу методы get и post для объекта ajax;Вы передаете параметр 'type', чтобы указать метод HTTP, который вы хотите использовать.

2) success срабатывает при успехе, т.е. если ответ возвращает 200. complete всегда срабатывает после того, как все остальное сделано,

3) В идеале ваш сервер должен вернуть json.Если вы сконфигурируете вызов Ajax так, чтобы он ожидал json, он проанализирует его для вас.

4) Документация очень ясна, beforeSend запускается до того, как будет вызван фактический базовый запрос ajax.В документации говорится что-то вроде «Используйте это для установки пользовательских заголовков и т. Д.»

0 голосов
/ 23 июня 2011
  1. Они просто "стенография" все можно сделать и функционировать то же самое с $ .ajax (), разница только в синтаксисе
  2. complete срабатывает после завершения каждого запроса, в то время как success срабатывает только при отсутствии ошибок (успешно
  3. все, что вы хотите сделать с ответом HTTP, который вы делаете, делая функцию (data) {dostuff (data);} в области обратного вызова success
  4. beforeSend вызывается непосредственно перед тем, как сработает запрос ajax

Документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...