JQuery ajax() vs get()/post()
Скажем, я хочу выполнить PHP script. Какой способ лучше?
Это:
$.ajax({
type: "GET",
url: "php-script.php",
dataType: "script"
});
Или это:
$.get("php-script.php", function(data) { });
Ответы
Ответ 1
В этом случае я бы сказал $.get
, так как он сразу же выяснил, каков тип запроса. Во всяком случае, это просто сокращение для более крупного и более опционального вызова ajax, и преобразование между ними тривиально в худшем случае.
Если вы считаете, что вам понадобятся опции $.ajax
, используйте $.ajax
. Если вы не используете методы удобства, предоставляемые jQuery, например .load
, $.get
и т.д.
Ответ 2
$.get()
является просто ярлыком для вызова $.ajax()
типа "GET".
Чтобы выполнить $.get()
, просто вызывает $.ajax()
в фоновом режиме. Его ярлык вроде как $(function(){})
равен $(document).ready(function(){})
. Обычные варианты использования $.get
для быстрого и простого получения, $.ajax
следует использовать, если вам нужно сделать что-то более сложное или вам нужна дополнительная гибкость.
Ответ 3
$.get()
/$.post()
не поддерживают beforeSend
как $.ajax()
. Таким образом, вы не можете, например, отображать прядильщик при загрузке напрямую. Но вы можете сделать это с помощью .ajaxStart()
.