Скрытая передача данных из 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-функцию находящуюся на этой же странице. Заранее спасибо |
и чего не получилось?
|
Цитата:
Вот полное содержимое страниц: Страница с которой отправляется значение (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']; ?> |
Машина - дура, что ей сказано, то и делает.
Ей сказано отправить
XMLHttp.send("str="+str);
она отправила НО, ей не сказано показать результат, и она не показывает :) Все честно :) читаем вдумчиво про responseText |
Большущие спасибо :yes:
Это не статья, а золото! :dance: |
| Часовой пояс GMT +3, время: 15:15. |