为什么jquery不能在ajax函数内工作?

时间:2017-07-12 12:21:43

标签: javascript jquery html 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更改为class但没有运气。

1 个答案:

答案 0 :(得分:0)

尝试添加jQuery <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

</body>标记之前。

正如@ 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>