jquery中的.ajaxStart()是否适用于xmlHttpRequest发送的请求

时间:2015-06-15 21:30:30

标签: javascript jquery ajax

在我的javascript代码中,我有一个使用xmlhttpRequest()发送许多请求的函数。

现在我想在执行函数的等待时间内显示一个加载微调器。 (假设此功能是时间成本)

因此,如果我使用$(document).ajaxStart()来设置微调器的触发,它会好吗?我的困惑是,我不知道$(document).ajaxStart()中的设置是否适用于内置XmlHttpRequest发送的ajax调用。

换句话说,以下代码是否有用?

var $loading = $('#loadingDiv').hide();
$(document)
  .ajaxStart(function () {
    $loading.show();
  })
  .ajaxStop(function () {
    $loading.hide();
  });

var xmlhttp =new XMLHttpRequest();
xmlhttp.onreadystatechange=function() { 
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  }}
xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();

如果我不想使用jquery,是否有很好的方法来设置微调器?

1 个答案:

答案 0 :(得分:0)

它不起作用,因为jQuery只使用其.ajax方法调用这些函数。

您可以对所有AJAX调用使用jQuery方法,因为它们更容易使用(至少在我看来)。