Ответ 1
Позвольте мне немного разъяснить вам кое-что:
$.ajax()
- базовая и низкоуровневая функция ajax, предоставляемая jQuery, что означает, что вы можете делать то, что захотите, чтобы вы могли работать с объектом XmlHttpRequest
. Но однажды разработчики jQuery подумали, что, помимо $.ajax()
, они могут предоставить разработчикам более конкретные методы, поэтому им не нужно будет передавать больше параметров, чтобы метод $.ajax()
работал так, как они хотят. Например, они сказали вместо передачи json
в качестве параметра $.ajax()
для указания типа данных возврата, они предоставили $.getJSON()
, поэтому мы все знаем, что возвращаемый тип, который мы ожидали, был json
или вместо указания метода отправки как post
или get
, вы можете использовать $.post()
или $.get()
соответственно.
Итак, load()
- это одно и то же, оно может помочь вам вставлять html-данные в ваш html. с помощью метода load()
вы знаете, что ожидается часть html.
Разве это не круто?
Я думаю, что меня влюбило.
Для получения дополнительной информации вы можете посетить jquery.com, они даже предоставляют свою новую библиотеку и страницу api tutorial.
Изменить:
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
является таким же, как показано ниже:
$.post("some.php", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
Теперь, когда вы видите, что это упрощенная версия $.ajax()
, чтобы выполнить пост-вызов, вам необходимо передать некоторую информацию типа метода отправки, которая post
, как показано в первом примере, но вместо этого вы может использовать $.post()
, потому что вы знаете, что вы делаете, это post
, поэтому эта версия упрощена и удобна в работе.
Но не забывайте что-то. За исключением load()
, все остальные методы ajax возвращают XHR (экземпляр XmlHttpRequest), поэтому вы можете относиться к ним так, как если бы вы работали с XmlHttpRequest, на самом деле вы работаете с ним tho:), но load()
возвращает jQuery, что означает:
$("#objectID").load("test.php", { 'choices[]': ["Jon", "Susan"] } );
в приведенном выше примере, вы можете легко ввести возвращаемый html в элемент #objectID
. Разве это не круто? Если он не возвращал jQuery, вы должны были работать с функцией обратного вызова, где вы, вероятно, получите результат из подобного объекта data
и вводите его вручную в элемент html, который вы хотите. Так что это будет хлопот, но с помощью метода $.load()
, это действительно упрощается в jQuery.
$("#feeds").load("feeds.php", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
Вы даже можете отправлять параметры, поэтому в соответствии с этими параметрами вы можете выполнить некоторую работу на стороне сервера и отправить часть html обратно клиенту, а ваш симпатичный код jQuery берет его и вводит в элемент #feeds
html в примере прямо выше.