AJAX - использование POST вместо GET - PullRequest
1 голос
/ 12 апреля 2011

До сих пор я использовал:

xmlhttp.open("GET","server_script.php?q="+str,true);

Спасибо

Edit: Я предоставляю решение для всех, кто может встретиться на этой странице, чтобы продемонстрировать, как использовать POST вместо GET. Если вы новичок в AJAX, я бы рекомендовал этот урок http://www.w3schools.com/PHP/php_ajax_php.asp с использованием метода GET.

решение-

JavaScript:

xmlhttp.open("POST","script.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send('var_name='+str);

PHP:

$var_name = GET['var_name'];

echo $var_name;

По причинам, касающимся использования POST и GET - см. Комментарии blow.

Ответы [ 2 ]

6 голосов
/ 12 апреля 2011

вот как бы вы использовали пост:

var url = "server_script.php";
var params = "q="+str;
xmlhttp.open("POST", url, true);

//Send the proper header information along with the request
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");

xmlhttp.onreadystatechange = function() {//Call a function when the state changes.
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        alert(xmlhttp.responseText);
    }
}
xmlhttp.send(params);

источник

4 голосов
/ 12 апреля 2011

Показанный вами запрос, вероятно, вполне подходит как запрос GET. Нет необходимости менять это.

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

Это дает неявное преимущество в плане безопасности, поскольку вы не можете нанести какой-либо ущерб, переместив URL-адрес на страницу пользователя (например, показывая изображение, URL-адрес которого указывает на страницу администратора с именем deleteall.php).

Если ваш запрос только извлекает данные, то вы прекрасно справляетесь с GET.

См. Этот вопрос для подробного обсуждения того, когда использовать какой. ПОЛУЧИТЬ ПОЧТУ в AJAX?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...