Autor Zpráva
Oksonm
Profil *
Zdravím všetkých. Riešim jeden problém a chcem vás poprosiť o pomoc. Situácia je takáto.
Mám dve stránky: jedna html na ktorej je nasledujúci .js-cript, ktorz sa ma vykonať <a href="#" onclick="makeRequest()">qwe</a>


function makeRequest() {
var httpRequest;

if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
// See note below about this line
}
}
else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}

if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = function() { alertContents(httpRequest); };
httpRequest.open('GET', 'http://localhost/casovac/casovac.php?udaje=hello_world', true);
httpRequest.send(null);
}

function alertContents(httpRequest) {

if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
alert(httpRequest.responseText);
} else {
alert('There was a problem with the request.');
}
}

}

Ten som stiahol z oficálnej mozillz stranky

Druhá stránka: php

if(isset($_GET['udaje'])) {
$subor=fopen("casovac.txt", "a+");
$zapis=fwrite($subor, $_GET['udaje']." ");
fclose($subor);
}
$subor=fopen("casovac.txt", "r");
while (!feof ($subor)) {
$riadok = fgets($subor, 1024);
echo $riadok."<br>";
}
fclose ($subor);


Ide o to že keď pošlem form maju sa odoslať dáta do nieco.php_udaje=hello_world, uloží sa to súboru a toť vše.
Lenže: funguje to len v IE, v opere ani FF nefunguje
FF píše: Chyba: uncaught exception: Nebolo povolené zavolanie metódy XMLHttpRequest.open
Opera: message: Security violation
V IE to funguje ale zapiše to len raz.Čiže keby som klikol 5 krát malo bz to do suboru uložiť 5 krát, nie?
Nevedel bz niekto pomôcť?
Ďakujem všetkým!!!
sakalik
Profil *
podla hlasenia z FF ide o standardne spravanie XMLHttpRequest zavedene kvoli bezbecnosti = nemozem pozadovat data z inych domen (okrem tej na ktorej sa nachadzam)
takze ak ste stranku spustili z disku a nie z http://localhost/casovac/nieco.html stranka sa pokusila nacitat data z inej domeny
skuste stranku spustat ako http://localhost/casovac/nieco.html alebo volajte open s relativnou adresou napr.: ...open('GET','casovac.php?udaje=hello_world',...
Oksonm
Profil *
Ďakujem za tip s absolútnou adresou, už to ide všade ale: vo FF aj Opere to funguje tak ako chcem, tzn že koľko krát kliknem toľko krát zapíše, ale IE to ignoruje [zapise len raz], neviete prečo?

podla hlasenia z FF ide o standardne spravanie XMLHttpRequest zavedene kvoli bezbecnosti = nemozem pozadovat data z inych domen (okrem tej na ktorej sa nachadzam)

Tie dve stránky totiž fungujú nasledovne: html je stiahnutá na PC s internetom, a php je umiestnená na webovom servery www.xzy.sk, takže ak chcem aby to fungovalo musí sa aj html umiestniť na server? [či ju nestačí mať stiahnutú a dať
httpRequest.open('GET', 'http://www.xzy.sk/casovac.php?udaje=hello_world', true);

ďakujem
Alphard
Profil
zapise len raz
AFAIK cache, posílej v get aktuální čas (vždy bude originální adresa)

např. "&cas="+new Date().getTime()
Oksonm
Profil *
AFAIK cache
Máš pravdu
Toto téma je uzamčeno. Odpověď nelze zaslat.