jQuery不使用XMLHttpRequest对象

时间:2017-12-27 03:03:34

标签: javascript php jquery ajax

我有一个 index.php 页面,它通过 AJAX 加载 info.php info.php 内容的加载方式如下:

<script>
function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("data").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "info.php", true);
  xhttp.send();
}

(function() {
   loadDoc()
})();
setInterval ( "loadDoc()", 5000 );
</script>

info.php 文件具有以下代码,可以从/向特定数字进行向上/向下计数。

<div class="timer count-title count-number" data-from="2000" data-to="300" data-speed="1500"></div>

<script src='includes/jquery-3.2.1.min.js'></script>
<script  src="includes/counter.js"></script>

当我直接访问 info.php 时,计数器工作正常。但是,如果我访问 index.php ,则计数器甚至不显示。我和其他jQuery脚本有同样的问题。即使 index.php 包含jQuery和其他脚本,它仍然无法正常工作。我确实希望这个号码能够通过AJAX调用,因为它不断更新。

有简单的解决方案吗?

1 个答案:

答案 0 :(得分:0)

你可以通过JQuery来实现,如下所示......

function loadDoc(){
            console.log( "call done" );
            $( "#data" ).load( "info.php", function() {
              console.log( "Load done." );
            });

        };
        $(function(){loadDoc();});
        setInterval (loadDoc, 5000 );

我认为他们的函数语句问题会检查以下脚本......

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("data").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "info.php", true);
  xhttp.send();
}

$(function(){loadDoc();});
setInterval (loadDoc, 5000 );