English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Объяснение основ Ajax

Основная функция Ajax - это реализация асинхронного доступа клиента к серверу: через объект XMLHttpRequest клиента отправляются малые данные,交互 с сервером, сервер возвращает малые данные, затем обновляется часть страницы клиента.

1. Сначала instantiate объект XMLHttpRequest

var request;
if (window.XMLHttpRequest){
 request=new XMLHttpRequest();
}
else{
 request=new ActiveXObject("Microsoft.XMLHTTP");
 //Для совместимости с ie5 6
}

2. Методы XMLHttpRequest отправляют запрос на сервер

request.open("POST",get.php,true); // запрос
//Установить заголовки http, чтобы告诉 сервер, что мы будем передавать форму в виде пар ключ-значение
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//Для POST необходимо установить значение Content-Type между open и send
request.send("name=Ван Цзиньгу&sex=мужской"); // передается на сервер с помощью метода send

3. Методы для получения ответа

responseText получает данные ответа в виде строки
responseXML получает данные ответа в виде XML
status и statusText возвращают HTTP-код в цифровом и текстовом виде
getAllResponseHeader()��取所有响应报头
getResponseHeader() запрашивает значение поля ответа

Важно监听 изменений свойства readyState

    Запрос 0 не инициализирован, метод open еще не вызван

    Подключение сервера установлено, метод open вызван

    Запрос 2 принят, информация заголовка получена

    3 - запрос обрабатывается, получен корпус ответа

    4 - запрос завершен, и ответ готов, ответ завершен

//Триггер при изменении readyState
//Использовать событие onreadystatechange для определения изменений свойства readyState
request.onreadystatechange=function(){
 if(request.readyState===4&&request.status===200){
 //Сделать что-то, например, получить данные ответа request.responseText
 }
}

5. Полный XHR

var request=new XMLHttpRequest(); //Создание объекта XHR
request.open("GET","get.php?number=" + данные, который нужно отправить в форме, true); //Вызов метода open
//Здесь, если это POST-запрос, send() будет объектом, содержащим данные
request.send();//Отправить данные
request.onreadystatechange=function(){ //Прослушивать и проверять, правильно ли отвечает сервер
 if(request.readyState===4&&request.status===200){
 //Сделать что-то, например, получить содержимое ответа сервера request.responseText
 }
}

Это все, что есть в этой статье, надеюсь, что содержимое статьи поможет вам в изучении или работе, и также надеюсь на вашу поддержку呐喊 руководства!

Заявление: содержимое этой статьи взято из Интернета, авторские права принадлежат соответствующему автору. Контент предоставлен пользователями Интернета, самостоятельно загружен, сайт не обладает правами собственности, не был обработан вручную и не несет ответственности за связанные с этим юридические вопросы. Если вы обнаружите контент,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @), и предоставьте соответствующие доказательства. Если факт будет подтвержден, сайт немедленно удалил涉嫌侵权的内容.

Рекомендуем к просмотру