Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрытая передача данных из JavaScript (https://javascript.ru/forum/misc/3195-skrytaya-peredacha-dannykh-iz-javascript.html)

Xero201 26.03.2009 22:00

Скрытая передача данных из JavaScript
 
Проблема в следующем - надо передать данные из JavaScript на php-станичку, но сделать это незаметно для пользователя.
Пробовал разобраться как это делается с помощью метода POST, но ничего не понял. Вот пример одной из неудачных попыток
function getXMLHttp(){
    var XMLHttp = null;
    if(window.XMLHttpRequest){
        try{
            XMLHttp = new XMLHttpRequest();
        } catch(e){}
    } else if(window.ActiveXObject){
        try{
            XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e){
            try{
                XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e){}
        }
    }
    return XMLHttp;
}
var str="YPA";
var XMLHttp = getXMLHttp();
XMLHttp.open("POST", "http://site/proba.php", false);
XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XMLHttp.send("str="+str);

Если не сложно, покажите мне (или скажите где можно посмотреть) как передать обычную строку на другую страницу скрытым от пользователя способом. Либо (и это еще лучше) передать значение этой строки в php-функцию находящуюся на этой же странице.
Заранее спасибо

IIIEPJIOK 26.03.2009 23:30

и чего не получилось?

Xero201 26.03.2009 23:59

Цитата:

Сообщение от IIIEPJIOK (Сообщение 15306)
и чего не получилось?

Не знаю, я в JavaScript не силен. Но у меня даже страница, куда должна передаваться перменная - не запускается.
Вот полное содержимое страниц:
Страница с которой отправляется значение (send.php)
<script language"JavaScript"> 
function fun(){
window.alert("start fun()");  //выводится
function getXMLHttp(){
window.alert("start getXMLHttp()"); //выводится

    var XMLHttp = null;
    if(window.XMLHttpRequest){
        try{
            XMLHttp = new XMLHttpRequest();
        } catch(e){}
    } else if(window.ActiveXObject){
        try{
            XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e){
            try{
                XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e){}
        }
    }
    return XMLHttp;
}
var str="YRA";
var XMLHttp = getXMLHttp();
XMLHttp.open("POST", "http://test/rec.php", false);
XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XMLHttp.send("str="+str);
}
</script>

<FORM><INPUT type = 'BUTTON' onClick='fun();'></form>

Страница которая должна принимать (rec.php)
<?php
echo $_POST['str'];
?>

IIIEPJIOK 27.03.2009 00:21

Машина - дура, что ей сказано, то и делает.

Ей сказано отправить

XMLHttp.send("str="+str);

она отправила
НО, ей не сказано показать результат, и она не показывает :)

Все честно :)

читаем вдумчиво про responseText

Xero201 27.03.2009 01:13

Большущие спасибо :yes:
Это не статья, а золото! :dance:


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