Autor Zpráva
Z_Kasto
Profil *
Na zkousku jak ze to vlastne funguje jsem si vytvoril takovouto funkci ale co me nema, nic to na server neposle.mozna jen spatne ctu ale procetl jsem si plno ruznych stranek(precetl jsem od w3c a sel jsem dal ale vsude popisujou same blbosti a reseni javascriptu, co s tim jde delat ale samotne toto ne.)
function go(){r=new XMLHttpRequest();r.onreadystatechange=function(){if (r.readyState == 4){if(r.status == 200){window.alert(r.responseText);}}};r.open('post','t.php');x='kin'+' ='+'luk';r.send(x);}
jak tedy lze poslat na server pres XMLHttpRequest() data?
venca12
Profil
Mne to funguje nejak takhle :

if (document.all)
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
else
var xmlhttp = new XMLHttpRequest();

xmlhttp.open("GET", "skript.php?hodnota=" + hodnota, false);
xmlhttp.send("");

odpoved = xmlhttp.responseText;

Teda, pokud mame na mysli oba to samy, tak .open je nejakej inicializator, kde definujes metodu, nazev skriptu kam se to ma poslat a jestli to bude synchroni, anebo asynchroni prenos (zda se bude, nebo nebude cekat na odpoved). .send() to odesle, nevim jak to je u metody post, ale u GET jsem si parametry predal rovnou v konstruktoru .open(). No a responseText(); ti vrati to co je na vystupu skriptu. (btw. explorer a gecko maji pro jednu vec dvar rozdilny nazvy objektu).
Z_Kasto
Profil *
me to takhle taky funguje.(prihodit tam podminku pro IE pod 7 je detail)
function go(){r=new XMLHttpRequest();r.onreadystatechange=function(){if (r.readyState == 4){if(r.status == 200){window.alert(r.responseText);}}};r.open('post','t.php',true);r.send(null);}
ale o to nejde.jde o to ze bych tomu skriptu na webu poslat nejake data.napriklad text nejaky.
treba :"Sicut erat principio et nunc et sempar et in saecula saeculorum." nebo cokoliv jineho.a nejde mi to!

A dekuji :)
Oswald
Profil
Ta odeslaná data najdeš v proměnné HTTP_RAW_POST_DATA (v PHP).


var url = 'server.php';
var data = 'toto jsou data';
var r = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
r.open('POST', url, true);
r.send(data);"


A v server.php potom třeba jenom:


file_put_contents('data.txt', $HTTP_RAW_POST_DATA);
Z_Kasto
Profil *
tak jsem to zkousel a ono to doopravdy funguje, mockrat thanks :))
Leo
Profil
Pokud to lehce upravite

r.open('POST', url, true);
r.setRequestHeader("Content-type","application/x-www-form-urlencoded") ;
r.send(data);

tak by se ta data mela dat v php skriptu nacist i v poli $_POST, Leo
xPetr
Profil *
Používám tohleto pro vkládání url do stránky (divu) ale nefunguje mi am čeština. Neporadíte někdo ??

// native XMLHttpRequest object
document.getElementById(target).innerHTML = 'sending...';
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = function() {jahDone(target);};
req.open("GET", url, true);
req.send(null);
// IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = function() {jahDone(target);};
req.open("GET", url, true);
req.send();
}
}

D?ky za odpov?d....
morpher
Profil
Mne tiž blbla slovenčina, teda diakritika.. a jediné, na čo som prišiel, je zmeniť kódovanie dokumentu na Utf-8...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0