2017-07-12 3 views
-3

Warum funktioniert jquery nicht innerhalb der Ajax-Methode?Warum funktioniert jquery nicht innerhalb der Ajax-Funktion?

<body> 

<h2>The XMLHttpRequest Object</h2> 

<p id="demo">Let AJAX change this text.</p> 

<button type="button" onclick="loadDoc()">Change Content</button> 

<script> 
function loadDoc() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     $('#demo').html('Hello World'); 
    } 
    }; 
    xhttp.open("GET", "ajax_info.txt", true); 
    xhttp.send(); 
} 
</script> 

</body> 

jetzt hier

$('#demo').html('Hello World'); 

es nicht funktioniert.

aber dies tut

document.getElementById("demo").innerHTML = 'asas'; 

warum? Was könnte der Grund sein. Ich habe versucht, ID in Klasse zu ändern, aber kein Glück.

+11

Haben schließen Sie jQuery-Skript in die Seite? – Morpheus

+2

Es ist merkwürdig, dass Sie rohe XHR verwenden, obwohl Sie jQuery in Ihre Seite aufnehmen. – 31piy

+1

Dieser Code sollte funktionieren, wenn jQuery vorhanden ist und der Ajax-Aufruf erfolgreich ist. Was ist die Fehlermeldung in Ihrer Konsole? – epascarello

Antwort

0

Versuchen in jQuery <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

Kurz vor dem Tag </body> hinzufügen.

Als @ 31piy in seinem Kommentar erwähnt, können Sie jQuery Ajax-Funktionen wie folgt verwenden:

<script> 
    $(function() { 
    $(document).on('click', 'button', function (event) { 
     event.preventDefault(); 
     $.get('ajax_info.txt', '', function(response, textStatus) { 
     $('#demo').html('Hello World'); 
     }); 
    }); 
    }); 
</script> 
Verwandte Themen