2016-08-14 3 views
0

Vous essayez simplement d'obtenir un simple morceau de javascript qui produit le contenu d'un fichier dans le même répertoire qu'une alerte.AJAX responseText n'a aucune valeur

<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> 

Lorsque je clique sur le bouton Envoyer, un message s'affiche sans texte. J'ai travaillé dessus toute la journée et essayé tous les tutoriels en ligne sans succès. Enfin hors d'idées. Quelqu'un peut-il aider?

Répondre

0

Cause avec votre syntaxe ajax. Essayez cette

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

Essayé le code ci-dessus exactement. Maintenant, obtenez l'erreur suivante. ReferenceError: XMLHttpRequset n'est pas défini. J'ai cherché des messages avec la même erreur, mais je ne comprends pas comment mettre en œuvre les réponses :-( –

+0

Mise à jour: trouvé que c'était quelque chose à voir avec node.js ou base.js. Fait une recherche sur mon ordinateur à la fois Est-ce que je suis supposé les télécharger ou est-ce que je peux les référencer dans mon html vers une URL? –

+0

Oui, vous le pouvez mais je n'ai pas node.js. Fichier text.txt Mais le monde réel n'est pas utilisé Vous devriez essayer avec le fichier php ou asp pour votre réponse ajax Saviez-vous php ou asp? – Sidath

1

mieux et facile à utiliser un ajax jQuery

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

J'ai essayé d'utiliser JQuery en premier, mais cela n'a rien fait, j'ai donc recouru à l'utilisation de Javascript, je pourrais retourner à JQuery une fois que je serais en train de travailler sur JS Merci –

0

il est contient des erreurs et je l'ai réparée maintenant essayer cette

<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

l'erreur ReferenceError: XMLHttpRequset n'est pas définie –

+0

Obtention d'un avertissement L'utilisation de getAttributeNode() est obsolète. ile. Il n'y a pas de fichier sur mon ordinateur appelé base.js ni aucun fichier contenant une référence à "base.js" mais j'ai remarqué que Firefox (le plus récent) dit que la source du fichier est https: //s.ytimg.com/yts/jsbin/player-fr_US-vflYm48JC/base.js. Je ne sais pas si cela est lié au problème ou à un problème distinct. –

+0

Également testé dans Chrome. N'apparaît pas non plus une boîte de dialogue d'alerte. Je ne sais pas comment déboguer dans Chrome, donc je ne connais pas la cause de Chrome. –