OT: javascript nepředává parametry

"Ing. Jiří Nováček" jnovacek na spst.cz
Čtvrtek Únor 14 21:01:28 CET 2008


Dobrý den

opět mám problém a nikde jinde žádnou odpověď nedostávám.
Na základě odpovědi zde v konferenci jsem na netu našel způsob jak
předat z javascripru (XMLHttpRequest) data přes PHP do MySQL. Zavolám
SendData s příslušným SQL scriptem. Vrací se ID přidaného záznamu. Tuto
hodnotu potřebuji předat dál do funkce, která SendData volala. Když jsem
měl na konci funkce pouze "return http_request.responseText;" tak se nic
nevracelo. Přidal jsem pro kontrolu zobrazení hodnoty pomocí alert. V
alertu se příslušná hodnota nezobrazí, ale funkce už ji vrací. Co dělám
špatně! Když alert smažu tak to zase přestane fungovat.

Předem moc děkuji
Jirka

  function returnValidate(http_request) {
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
        if (http_request.responseText = 0) alert("Chyba SQL scriptu.";
      } else {
        alert('Chyba při komunikaci se serverem.');
      }
    }
  }

  function SendData(sql) {
        var http_request = false;
        var request = "sql="+sql;
        if (window.XMLHttpRequest) {
            http_request = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            try {
              http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (eror) {
              http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        http_request.onreadystatechange = function() {
returnValidate(http_request); };
        http_request.open('POST', 'data/savetodb.php', true);
        http_request.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
        http_request.send(request);
//
        alert("navracené id"+http_request.responseText);
        return http_request.responseText;
  }




Další informace o konferenci Linux