Главная страница>Учебник по веб-дизайну>Учебник по Javascript

Давайте поговорим об Ajax в jQuery и подробно объясним его основные методы.

Автор:Eve Cole Время обновления:2022-07-28 14:57:21

Затем создайте новую пустую страницу (main.html), включая кнопку, которая запускает событие Ajax, и идентификатор «content»,

используемый для отображения добавленного HTML-содержимого (test.html). Код выглядит следующим образом:


<голова>
	<мета-кодировка="utf-8">
	
	основной

<тело>
	
	
	

Загруженный контент:

Далее напишите код jQuery. После загрузки DOM вызовите метод загрузки, нажав кнопку, чтобы загрузить содержимое в test.html в элемент с идентификатором «content». Код выглядит следующим образом:

Перед загрузкой

текущих результатов

:

4.png

После загрузки:

5.png

2) Фильтрация загруженных HTML-документов.

В приведенном выше примере все содержимое test.html загружается в элемент с идентификатором «content» в main.html. Если вы хотите загрузить только определенный контент, вы можете использовать load(url). селектор) для достижения.

Примечание. Между URL-адресом и селектором есть пробел.

Например, чтобы загрузить только содержимое тега p в test.html, используйте следующий код:

Результаты запуска

6.png

3) Режим передачи

Режим передачи метода load() задается автоматически на основе данных параметра. Если параметры не передаются, используется метод GET, в противном случае он автоматически преобразуется в метод POST.

// метод load(url,fn), без передачи параметров, метод GET $("#btn1").click(function(){
    $("#content1").load("test.html", function(){
    	// код
    })
})

// метод load(url,fn), есть параметры для передачи, метод POST $("#btn1").click(function(){
    $("#content1").load("test.html", {name: "peiqi", возраст: "18"}, function(){
    	// код
    })
})

4) Параметры обратного вызова

Для операций, которые необходимо продолжить после завершения загрузки, метод load() предоставляет функцию обратного вызова (обратный вызов). Эта функция имеет 3 параметра, представляющие «возвращаемый запрос контент» и «статус запроса». object", код выглядит следующим образом:

$("#content1").load("test.html p", function(responseText, textStates, XMLHttpRequest) {
   //responseText: содержимое, возвращаемое запросом //textStates: статус запроса: ошибка успеха, тайм-аут notmodified 4 типа //XMLHttpRequest: объект XMLHttpRequest});

Примечание. В методе load() независимо от того, успешен ли запрос Ajax, как Пока запрос завершен (завершен), будет запущена функция обратного вызова (обратный вызов).

3.

.

г

е

т

(

)

метод и

метод .get() и

)

load() обычно получают файлы статических данных с веб-сервера. Если вам нужно передать некоторые параметры на страницу на сервере, вы можете использовать .

.

г

е

т

(

)

метод и

метод .get() и

(или метод $.ajax()).

Уведомление:

.

г

е

т

(

)

метод и

метод .get() и

являются глобальными функциями в jQuery.

1) Метод $.get()

Метод $.get() использует метод GET для выполнения асинхронных запросов.

Структура

$.get(url, [данные], [обратный вызов], [тип])

параметры

7.png

Приведенное ниже

приложение

представляет собой фрагмент HTML-кода для страницы комментариев, который знакомит с использованием метода $.get(). Код следующий:


Комментарии

Имя:

Содержимое:

Страница, созданная этим кодом, показана на рисунке:

8.png

После заполнения вашего имени и содержания вы можете отправить свой комментарий.

а. Сначала вам необходимо определить запрошенный URL-адрес.

$("#btn2").click(function(){
    $.get("test.php", параметр данных, функция обратного вызова)
})

b. Перед отправкой передайте значения имени и содержимого фону в качестве данных параметров.

$("#btn2").click(function(){
    $.get("test.php", {"username":$("#name").val(), "content":$("#content2").val()}, функция обратного вызова)
})

c. Если сервер получает переданные данные и успешно возвращает данные, возвращенные данные можно отобразить на странице с помощью функции обратного вызова.

Функция обратного вызова метода $.get() имеет только два параметра:

function(){
  //данные: возвращаемым содержимым могут быть XML-документы, файлы JSON, фрагменты XHML и т. д. //textStatus: статус запроса: успешная ошибка, немодифицированный тайм-аут 4 типа}

d. Параметр data представляет содержимое, возвращаемое запросом, и textStatus. Параметр представляет статус запроса. А функцию обратного вызова можно вызвать только в случае успешной обработки данных (load() вызывается независимо от успеха или неудачи).

// Метод $.get()$("#btn2").click(function(){
    $.get("test.php", {"username":$("#name").val(),"content":$("#content2").val()}, function(data,textStatus) {
    	if(textStatus=="успех"){ //успех
    		// код
    		$(данные).appendTo("#msg")
    	}
    },
    "html")//тип
})

Результаты операции.

9.png

2) Метод $.post()

имеет ту же структуру и использование, что и метод $.get(), но все же существуют следующие различия:

a. Метод GET передает параметры после URL-адреса, и данные будут просматриваться. Сервер кэширует его, а метод POST отправляется на сервер как содержимое сущности HTTP-сообщения (то есть завернутое в тело запроса). Видно, что безопасность метода POST выше, чем у метода POST. ПОЛУЧИТЬ метод.

б. Метод GET имеет ограничение на размер передаваемых данных (обычно не более 2 КБ), тогда как метод POST теоретически не имеет ограничения на размер.

в. Данные, передаваемые методами GET и POST, получаются на стороне сервера по-разному. В PHP данные в режиме GET можно получить с помощью «_GET[]», а данные в режиме POST — с помощью « _POST[]». Оба метода можно получить, используя «$_REQUEST[]».

d. Скорость передачи метода GET выше, чем у метода POST.

Поскольку все данные, отправленные методами POST и GET, можно получить через $_REQUEST[], пока функция jQuery изменяется, программа может переключаться между запросами GET и запросами POST. Код выглядит следующим образом:

// $. метод post() $("#btn2").click(function(){
	$.post("test.php", {"username":$("#name").val(),"content":$("#content2").val()}, function(data,textStatus) {
    	if(textStatus=="успех"){ //успех
    		// код
    		$(данные).appendTo("#msg")
    	}
    },
    "html")//тип
})

Кроме того, когда метод load() передается с параметрами, для отправки запроса будет использоваться метод POST. Поэтому вы также можете использовать метод load() для выполнения той же функции. Код выглядит следующим образом:

$("#btn2").click(function(){.
	$("#msg").load("test.php", {
    	"имя пользователя":$("#имя").val(),
        "content":$("#content2").val()
    });
})

4.

.

г

е

т

С

с

р

я

п

т

(

)

метод и

метод .getScript() и

()

Иногда совершенно нет необходимости получать все необходимые файлы JavaScript при первой загрузке страницы. Хотя вы можете динамически создавать

$(document.createElement("script")).attr("src", "test.js").appendTo("head");
//Или $("