Autor Zpráva
Darker
Profil
Mám takovouhle úpravu „univerzální funkce pro ajax“.
    function processRequest(httpRequest, kam) 
    {
        if(httpRequest.readyState == 2) {
          httpRequest.abort();
          kam(null);
        }     
        if (httpRequest.readyState == 4)
        {
            console.log("Tohle se nemelo stat");
            httpRequest.abort();
Jaktože si požadavek klidně pokračuje dál?


Pro state 2 jsem zkusil i toto:
     httpRequest.abort();
     httpRequest.open("GET", "http://127.0.0.1", true);
     httpRequest.setRequestHeader("Content-length", 0);
     httpRequest.send(null);
Co mě zarazilo je, že se požadavek na 127.0.0.1 provedl, ačkoli jsem skript spouštěl na jiné doméně.
DJ Miky
Profil
readyState == 2 nemusí ve všech prohlížečích nastat, dej tam raději readyState >= 2:

http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_r_2.html

Nevím, jestli je to už v nových verzích prohlížečů vyřešeno, ale >=2 bude vždy jistější.
Darker
Profil
DJ Miky:
nemusí ve všech prohlížečích nastat
Mě nastal, nechal jsem si pak do konzole vypsat zprávu ve chvíli, kdy nastane. Nicméně ani funkce abort, ani volání jiného requestu tento neukončily.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: