AJAX - отправив запрос на сервер
Объект XMLHttpRequest для обмена данными с сервером.
Посылает запрос на сервер
Для отправки запроса на сервер, мы используем открыть объект XMLHttpRequest (в) и отправить () метод:
xmlhttp.send();
способ | описание |
---|---|
открытый(метод, URL, асинхронной) | Тип задает запрос, URL и будет ли асинхронная обработка запросов.
|
отправить(строка) | Посылает запрос на сервер.
|
GET или POST?
По сравнению с POST, GET проще и быстрее, и в большинстве случаев могут быть использованы.
Тем не менее, в следующих случаях, пожалуйста, используйте запрос POST:
- Невозможно использовать кэш-файлы (файлы или обновить базу данных на сервере)
- Отправить большие объемы данных (POST не ограничивает объем данных) на сервер
- При передаче пользовательского ввода содержит неизвестные символы, POST является более стабильной и более надежной, чем GET
GET запрос
простой Запрос GET:
В приведенном выше примере, вы можете получить кэшированные результаты.
Чтобы избежать этого, добавьте уникальный идентификатор в URL:
Если вы хотите отправить информацию через метод GET, добавьте информацию URL:
примеров
xmlhttp.send();
Попробуйте »
запрос POST
простой запрос POST-:
Если вам необходимо, чтобы данные как форма POST HTML, используйте setRequestHeader (), чтобы добавить HTTP-заголовки. Затем укажите, что вы хотите отправить данные в Send () метод:
примеров
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
Попробуйте »
方法 | 描述 |
---|---|
setRequestHeader(header,value) |
向请求添加 HTTP 头。
|
URL - файлы на сервере
URLаргумент открыт () метод является адрес файлового сервера:
Файл может быть любого типа файла, например .txt и .xml или файлы сценариев сервера, такие как .asp и .php (до возвращения ответа, для выполнения задач на сервере).
Асинхронный - Верно или нет?
AJAX означает асинхронный JavaScript и XML (Asynchronous JavaScript и XML).
Если вы хотите использовать объект AJAX XMLHttpRequest, а затем, параметр асинхронной которого открыт () метод должен быть установлен верно:
Для веб-разработчиков, отправить асинхронный запрос является огромным шагом вперед. На сервере для выполнения многих задач являются очень много времени. Перед тем как AJAX происходит, что может привести к применению к зависанию или остановить.
С помощью AJAX, JavaScript, не дожидаясь ответа сервера, но:
- Другие сценарии выполнения во время ожидания ответа от сервера
- Когда ответ готов ответить на обработку
Асинхронный = True
При использовании асинхр = True, пожалуйста, положения в ответ на события в onreadystatechange готовности выполнять функцию:
примеров
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
Попробуйте »
Вы узнаете больше о содержании onreadystatechange в следующей главе.
Асинхронный = False
Для того, чтобы использовать асинхр = ложь, установите метод Open () в качестве третьего параметра к ложным:
xmlhttp.open("GET","test1.txt",false);
Мы не рекомендуем использовать асинхр = False, но для некоторых малых запросу, также возможно.
Помните, что JavaScript будет ждать, пока ответ сервера не готов приступить. Если сервер занят или медленно, или прекратить зависании приложения.
Примечание: При использовании асинхр = ложь, пожалуйста , не пишите onreadystatechange функцию - поместить код в Send () обратно к заявлению:
примеров
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
Попробуйте »