Autor Zpráva
yuriss
Profil
Čaute všichni, mám problém s Ajaxem. V opeře mi to funguje bez problému, ale když jsem to spustil přes Firefox tak http_request.status se rovná 0. Když jsem dal do php souboru, aby vytvořil soubor a vypíše jenom "ahoj". Soubor se vytvoří, ale nevypíše se text(samozřejmě protože http_request.status se rovná 0, takže se nic nevypíše). Doufám že pomůžete :)

<script type="text/javascript">
  function odeslat()
  {
        var click = document.getElementById('submit');
        click.setAttribute("value", "Čekejte !");
        click.setAttribute("disabled", "disabled");
        var http_request = false;
        var string = "zmrde";
        var request = "textik="+string;
 
                // Vytvoření XMLHttpRequest
        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() { zpracuj(http_request); };
        http_request.open('POST', 'Novy2.php', true);
        http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        http_request.send(request);
        
  }
  function zpracuj(http_request)
  {
        if (http_request.readyState == 4) 
        {
            if (http_request.status == 200) 
            {
              var click = document.getElementById('submit');
              click.setAttribute("value", "Odeslat");
              click.removeAttribute("disabled");
              document.getElementById("chatt").innerHTML = http_request.responseText;
            } 
            else 
            {
                alert('Nastala chyba ! '+http_request.status + http_request.readyState);
            }
        }
  }
  </script>
  </head>
  <body>
  <form name="formular" METHOD="post">
    <input type="Text" ID="textik">
    <input type="submit" value="Odeslat" id="submit" onclick="odeslat();" />    
  </form>
  <div id="chatt">
  </div>
  </body>
Chamurappi
Profil
Reaguji na yurisse:
Začal bych tím, že bych se zbavil zbytečného setAttribute.
Živou ukázku bys neměl?

Nesnažíš se při testování ve Firefoxu načítat data z jiné domény?
_es
Profil
yuriss:
Je to nejaké nezmyselné. Odosielaš normálne formulár a teda sa začne znovu načítavať celá stránka a zároveň sa niečo snažíš odoslať aj objektom XMLHttpRequest.
yuriss
Profil
Chamurappi:
Živá ukázka by byla hodně dlouhá a komplikovaná a tam to právě dělá taky, tak jsem se to snažil dát do jednoduché formy, kde to dělá stejný problém. Zkouším to na Apache serveru.


_es:
Díky ;) .. už to funguje :) .. toho jsem si ani nevšiml, že to odesílám normálně :D, jsem to jenom prostě skopíroval úplně z jiných stránkách
Toto téma je uzamčeno. Odpověď nelze zaslat.

0