了解此代码中的回叫功能

问题描述 投票:0回答:1

我在其他网站上看到此代码,但我没有了解具体的cFunction和url

function loadDoc(url, cFunction) {
  var xhttp;
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      cFunction(this);
    }
  };
  xhttp.open("GET", url, true);
  xhttp.send();
}

function myFunction(xhttp) {
  document.getElementById("demo").innerHTML =
    xhttp.responseText;
}
<div id="demo">

  <h2>The XMLHttpRequest Object</h2>

  <button type="button" onclick="loadDoc('ajax_info.txt', myFunction)">Change Content</button>
</div>
javascript ajax callback
1个回答
0
投票

在您发布的代码中,有一个函数loadDoc将另一个函数回调cFunction作为Sercond参数。

顾名思义,

loadDoc使用ajax从Internet加载由urll参数标识的文档。加载文档时,将调用作为参数传递的cFunction函数,以传递当前XMLHttpRequest的引用。

所有这些事情都在用户单击按钮时完成,加载的文档为ajax_info.txt

,回调函数为myFunction] >>

因此,当使用包含响应的XMLHttpRequest对象下载文档时,将调用myFunction,因此myFunction可以读取响应并将其打印在HTML元素上]]

© www.soinside.com 2019 - 2024. All rights reserved.