Ajax... Post... а выходит как Get

maroonorg

Новичок
Ajax... Post... а выходит как Get

Народ, выручайте. Есть код:

function send() {
var nickname = $("nickname").value;
var email = $("email").value;
var url = "submit/add.php";
var params = "nickname=" + encodeURI(nickname) + "&email=" + encodeURI(email);
request.open("POST", url, true);
request.onreadystatechange = updatePage;
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.send(params);
}

Как видно из приведенного кода, данные посылаются POST запросом, но, при отправлке данных, они все равно отображаются как $_GET.
Вот пример того, что получается: http://localhost/guest_book/add.php?nickname=MaroonOrg&[email protected]
Почему так может быть?
 
vasa_c
В адресной строке. Разве POST запрос должен передавать свои данные через адресную?
 
maroonorg, ты какую библиотечку для js юзаешь, может там уже реализована отсылка форм?
 
отображаются как $_GET
Отправляешь POST-запрос, а на сервере вcе это дело в $_GET[]...
У меня FireBug на "request.open("POST", url, true);" говорит что это POST-запрос.
Попробуй послать POST-запрос > GET-запроса, т.е. больше длины адресной строки и где все это окажеться в
$_GET или $_POST?

Интересно...
Как в AJAX формируют тело POST-запроса?
Наверно само тело и передают в заголовках POST-запроса... :-)
В чем тогда разница если мы делаем request.open("POST", url, true) или request.open("GET", url, true)?
 
fast2111
Эта...
Выведи-ка из PHP-скрипта адрес по которому к нему обращались.
 
Я здесь причем. Ну все таки.
FireBub говорит:
POST http://localhost/..../check.php?type=1&...&account=4
params:
-type 1
-...
-account 4
post:
-пусто
response:
-2

В php имем конечно же
QUERY_STRING = "type=1&...&account=4"
REQUEST_METHOD = "POST"

А собстно тело POST запроса всетаки в загаловках ушло.
Так в чем разница GET и POST если мы делаем их через XMLHttpRequest?
 
Автор оригинала: fast2111
Отправляешь POST-запрос, а на сервере вcе это дело в $_GET[]...
У меня FireBug на "request.open("POST", url, true);" говорит что это POST-запрос.
Попробуй послать POST-запрос > GET-запроса, т.е. больше длины адресной строки и где все это окажеться в
$_GET или $_POST?

Интересно...
Как в AJAX формируют тело POST-запроса?
Наверно само тело и передают в заголовках POST-запроса... :-)
В чем тогда разница если мы делаем request.open("POST", url, true) или request.open("GET", url, true)?
Ты сам понял, что сказал? Потому, что лично я, перечитав раз на пять твой текст, смысла не уловил! Можно как-то проще объяснить все?
 
Извеняюсь загнался...
Я совсем забыл про request.send(params), в своей задаче не использую, поэтому и сильно запутался в разнице GET и POST при использовании XMLHttpRequest...
Замолкаю.
 
Сверху