Первым параметром открытого метода объекта xmlhttprequest является тип запроса, а значение может быть получено или публиковать. Эта статья представляет запрос на получение.
Цель запроса GET - это в основном для получения данных. Хотя запросы GET могут передавать данные, цель передачи данных состоит в том, чтобы сообщить серверу, какой контент нам дает.
При использовании запроса GET параметры передаются с URL.
При использовании запросов GET, они легко кэшируются, поэтому вам нужно обратить внимание на проблемы кэширования.
При использовании GET -запроса сторона сервера должна использовать request.QueryString [Data] для получения данных.
Мы использовали запрос GET в статье «Заполнить экземпляр AJAX». В то время мы столкнулись с следующими проблемами:
- Как создать объект xmlhttprequest, который может работать в большинстве браузеров.
- При использовании запроса возникает проблема с кэшированием
- Китайская искаженная проблема
Среди них первая проблема была решена в статье «объект Xmlhttprequest»;
Для второй проблемы причина в том, что:
Запрос GET будет получать доступ к кэшу каждый раз, чтобы увидеть, есть ли соответствующий URL. Если есть, URL в кеше будет возвращен. Если нет, будет сделан запрос на сервер.
Решение:
1. Добавьте параметр динамического изменения в URL, чтобы обнаружить, что каждый раз, когда вы получаете доступ к другому URL, чтобы каждый раз был выдан новый запрос на сервер.
Для третьего вопроса давайте сначала рассмотрим причины искаженного кода:
Данные, возвращаемые XMLHTTP, по умолчанию-UFT-8. Если страница клиента составляет GB2312 или другое кодирование, произойдет искаженная кода.
Решение:
1. Если клиентом является GB2312, то при выходе укажите кодирование выходного потока.
2. И клиент, и сервер используют кодирование UTF-8
3. Обязательно используйте метод Encodeuricomponent для кодирования параметров
Обратите внимание на пример:
Файл страницы HTML не изменился. Знание кода изменения JS выглядит следующим образом:
<script type = "text/javascript"> function btn_click () {// create xmlhttprequest объект var xmlhttp = window.xmlhttprequest (): new activexobject ("microsoft.xmlhttp"); // Получить значение var username = document.getElementByid ("txt_username"). Value; var age = document.getElementbyId ("txt_age"). value; // Настройка xmlhttprequest объект // Использование Encode Uricomponent Method для кодирования полученных параметров // Добавить параметры для доступа к разным URL -адресам, чтобы избежать проблем с кэшем xmlhttp.open ("get. at.aspx? Math.random ()); // Установить функцию обратного вызова xmlhttp.onreadystatechange = function () {if (xmlhttp.readystate == 4 && xmlhttp.status == 200) {document.getElementById ("result"). InnerHtml = xmlhttp.responsetextxtxtxt; }} // Отправить запрос, потому что параметры находятся в URL, поэтому NULL отправляется здесь xmlhttp.send (null); } </script>
Серверная сторона:
Protected void page_load (отправитель объекта, EventArgs e) {response.clear (); string username = request.querystring ["username"]; String age = request.querystring ["age"]; Response.write ("name: '" + username + "' <br/> age:" + age + "<br/> time: '" + datetime.now.tostring () + "'"); Response.end ();}// Источник от http://www.vevb.com/oneword/archive/2011/06/04/2072585.html