2016-07-07 9 views
0

Ich weiß wenig von Javascript, aber habe es geschafft, einen Code für eine Ajax-Anfrage auf meiner Website zu erstellen, aber jetzt finde ich, es funktioniert nur auf Mozilla/Firefox. Mein Code ist:XMLHTTPRequest akzeptiert von Mozilla in anderen Browsern abgelehnt

function ajaxFunction(char){ 
    var ajaxRequest; 
    try{ 
     // Opera 8.0+, Firefox, Safari 
     ajaxRequest = new XMLHttpRequest(); 
    } catch (e){ 
     // Internet Explorer Browsers 
     try{ 
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch (e) { 
      try{ 
       ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e){ 
       // Something went wrong 
       alert("Your browser broke!"); 
       return false; 
      } 
     } 
    } 
    ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
     if(this.status !==200){ 
     **alert("Error: Status '+this.status+' returned.");** 
    }else{ 
      document.getElementById('directory').innerHTML= ajaxRequest.responseText; 
      } 
     } 
    } 
    var namevalue=char 
    ajaxRequest.open("GET", "../directory pagtestAug.php?name="+namevalue, true); 
    ajaxRequest.send(null); 
} 

ich auch Gebrauch machen werde: src = "// ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js">
(obwohl ich nicht sicher bin, was das tut - ich finde es schwierig, Javascript Unterricht jenseits der sehr grundlegenden zu finden)

Die Antwort ist Fehler: Status '+ this.status +' zurückgegeben.

Ich habe viele Beiträge auf dem 200-Status, aber keine auf, was zu tun ist, wenn der Server nicht reagiert. Gibt es einen anderen Code oder einen anderen für jeden Browser? Vielen Dank für die Mühe zu machen, dies zu lesen (und Antwort, bitte)

+0

Da Sie jQuery haben, schlage ich vor, in ['$ .ajax()'] (http://api.jquery.com/jquery.ajax/) zu suchen. – imtheman

+0

Was sind diese '**'? Haben Sie versucht, diese Zeile zu kommentieren? – Knu

+1

Ihre Angebote in der Warnung stimmen nicht überein. Wechseln Sie zu "Fehler: Status" + this.status + "returned". um tatsächlich einen Statuscode zu erhalten. –

Antwort

0

Wenn von „Arbeiten in Mozilla nur“ Sie meinen es nicht in Chrom funktioniert, prüfen this link und this link

Grundsätzlich müssen Sie Starten Sie Chrome mit den richtigen Parametern, um auf lokale Dateien zugreifen zu können.

+0

Ich nehme zur Kenntnis, dass Sie Chrome kommentieren und untersuchen, aber wie ich oben sagte, scheint der Fehler korrigiert zu haben, ohne diese Änderungen vorzunehmen. – Albireo

Verwandte Themen