2017-07-12 13 views
-3

jqueryがajaxメソッド内で動作しないのはなぜですか?jQueryがajax関数の中で動作しないのはなぜですか?

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

今ここ

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

それは働いていません。

が、これは

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

なぜでしょうか?理由は何だろう。私はクラスにidを変更しようとしましたが、運はありません。 </body>タグの前にjQueryの <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

右に追加

+11

あなたのページにjQueryのスクリプトが含まれていましたか? – Morpheus

+2

あなたのページにjQueryを含めるにもかかわらず、生のXHRを使用しているのは不思議です。 – 31piy

+1

jQueryが存在し、Ajax呼び出しが成功した場合、そのコードは正常に動作するはずです。コンソールに表示されるエラーメッセージは何ですか? – epascarello

答えて

0

してみてください。

@ 31piyが彼のコメントで述べているように、あなたはこのようなjQueryのAJAX機能を使用することができますが:

<script> 
    $(function() { 
    $(document).on('click', 'button', function (event) { 
     event.preventDefault(); 
     $.get('ajax_info.txt', '', function(response, textStatus) { 
     $('#demo').html('Hello World'); 
     }); 
    }); 
    }); 
</script> 
関連する問題