Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   XMLHttpRequest не работает именно POST (https://javascript.ru/forum/misc/45002-xmlhttprequest-ne-rabotaet-imenno-post.html)

wadim 10.02.2014 16:04

XMLHttpRequest не работает именно POST
 
Привет всем! Мне нужен именно такой код(без кодировки, кэширования и прочего, по возможности) :

<script>

document.onclick = function(event) {

a= 22;

xhttp=new XMLHttpRequest();

xhttp.onreadystatechange=function(){

if (xhttp.readyState==4 && xhttp.status==200)
document.getElementById('ajax').innerHTML=xhttp.re sponseText;
}

xhttp.open('POST','Dmitri.php',true);
xhttp.send("a="+a);

}

</script>
<b><p id='ajax'> </p></b>

Пробовал и так:

<HTML>
<META content="text/html; charset=windows-1251" http-equiv="Content-Type">

<script>

document.onclick = function(event) {

a= 22;

xhttp=new XMLHttpRequest();

xhttp.onreadystatechange=function(){

if (xhttp.readyState==4 && xhttp.status==200)
document.getElementById('ajax').innerHTML=xhttp.re sponseText;
}

xhttp.open('POST','Dmitri.php',true);
xhttp.send("a="+a);

}

</script>
<b><p id='ajax'> </p></b>
<HTML>

Код сервера:
<?
echo "Значение JavaScript-переменной: "+$_POST['a'];
?>

все-равно не работает, хостинг мой не выводит кирилицу вообще, менял в браузере - не помогло, может в кирилице проблема или кэшировании.
Мой код работает, если GET использовать, по идее и POST работать должен, может не правильно код написал, сам проверил - ошибки не вижу, подскажите как правильно? Хотя бы скажите должен по идее работать код или нет, правильны ли эти строчки:
xhttp.open('POST','Dmitri.php',true);
xhttp.send("a="+a);
А так же в коде сервера нет ошибки?

Второй вопрос: если GET использовать, то в чем опасность при передачи закрытой информации - в том что кто-то увидит в адресе браузера, если стоять рядом будет? Сервер и клиент на одном хостинге, написать свой сервер не получится чтоб прочесть переменную GET.

danik.js 10.02.2014 16:53

xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

wadim 10.02.2014 17:24

Цитата:

Сообщение от danik.js (Сообщение 296966)
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

Большое спасибо, помогло.


Часовой пояс GMT +3, время: 23:54.