2016-08-14 3 views
0

Nur versuchen, ein einfaches Stück JavaScript zu arbeiten, das den Inhalt einer Datei im selben Verzeichnis wie eine Warnung ausgibt.AJAX responseText hat keinen Wert

<form id="form" method="post" onsubmit="newsubmission()"> 
    <input type="submit" value="Submit" /> 
    <script> 
    function newsubmission() {  
     var xhttp = new XMLHttpRequest(); 
     xhttp.onreadystatechange = function() { alert(xhttp.responseText); } 
     xhttp.open("POST", "test.txt", true); 
     xhttp.send(); 
    } 
    </script> 
</form> 

Wenn ich auf die Schaltfläche Abschicken klicke, wird eine Nachricht ohne Text angezeigt. Ich habe den ganzen Tag daran gearbeitet und jedes Online-Tutorial ohne Erfolg ausprobiert. Endlich aus Ideen. Kann jemand helfen?

Antwort

0

Ursache mit Ihrer Ajax-Syntax. Versuchen Sie, diese

function newsubmission(e) { 
    e.preventDefault(); 
    var xhttp = new XMLHttpRequest(); 
    //for IE 
    if(window.AciveXObject){ 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    }else{ 
    // for modern browsers 
    xmlhttp = new XMLHttpRequset(); 
    } 
    xhttp.open("POST", "test.txt", true); 
    xhttp.onreadystatechange = function(){ 
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
     alert(xmlhttp.responseText); 
    } 
    } 

    xhttp.send(); 
} 
+0

den obigen Code genau Versuchte. Jetzt wird der folgende Fehler angezeigt. ReferenceError: XMLHttpRequset ist nicht definiert. Ich habe nach Posts mit dem gleichen Fehler gesucht, aber ich verstehe nicht, wie man die Antworten implementiert :-( –

+0

Update: gefunden, es war etwas mit node.js oder base.js zu tun. Hat eine Suche auf meinem Computer für beide Diese Dateien konnten nirgendwo gefunden werden. Soll ich sie herunterladen oder kann ich sie in meinem HTML auf eine URL verweisen? –

+0

Ja, Sie können! Aber ich habe keine node.js. Manchmal war es Fall mit Ihrem Text.txt Datei, aber reale Welt ist es nicht verwenden. Sie sollten versuchen, mit PHP oder Asp-Datei für Ihre Ajax Antwort. Wussten Sie, PHP oder ASP? – Sidath

1

besser und einfach Ajax jQuery zu verwenden

$.ajax({ 
url:"your url", 
success:function(data){ 
     //do your stuff with response data here 
     } 
error:function(){ 
     //handle your error 
    } 
}); 
+0

Ich versuchte zuerst mit JQuery, aber das tat auch nichts, also griff ich auf Javascript zurück.Könnte ich zurück zu JQuery gehen, sobald ich JS funktionierte.Danke –

0

es einige Fehler enthalten ist, und ich habe es jetzt behoben versuchen diese

<form id="form" method="post"> 
<input type="submit" value="Submit" /> 
<script> 
document.getElementById('form').onsubmit = function(e){ 
e.preventDefault(); 
var xmlhttp; 
//for IE 
if(window.ActiveXObject){ 
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
}else{ 
// for modern browsers 
xmlhttp = new XMLHttpRequest(); 
} 
xmlhttp.open("POST", "text.txt", true); 
xmlhttp.onreadystatechange = function(){ 
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
    alert(xmlhttp.responseText); 
} 
} 
xmlhttp.send(); 
} 
</script> 
</form> 
+0

Immer noch Der Fehler, ReferenceError: XMLHttpRequset ist nicht definiert. –

+0

Auch Warnung, Verwendung von getAttributeNode() ist veraltet. Verwenden Sie stattdessen getAttribute(). Zeigen auf die Base.js f Ile. Es gibt keine Datei auf meinem Computer namens base.js und auch keine Datei, die irgendeinen Verweis auf "base.js" enthält, aber bemerkt hat, dass Firefox (aktuellste) sagt, dass die Quelle der Datei https: //s.ytimg ist.com/yts/jsbin/player-de_DE-vflYm48JC/base.js. Nicht sicher, ob dies mit dem Problem oder einem separaten Problem verbunden ist. –

+0

Auch in Chrome getestet. Zeigt auch keine Warndialogbox an. Ich weiß nicht, wie man in Chrome debuggt, also weiß ich nicht, was die Ursache in Chrome ist. –