首页 > 解决方案 > 异步更新网站的代码不起作用?详细说明

问题描述

下面是两个调用 python 文件来更新 html 的 Javascript 函数。顶部的工作正常,但底部的工作不正常。没有抛出错误。

function button(key) {
  var xhttp = new XMLHttpRequest();
  xhttp.open("GET", "example.py?keyword="+key, false);
  xhttp.send();
  var response = xhttp.responseText;
  var array = response.split('|');
  document.getElementById("demo").innerHTML = array[0];
  document.getElementById("demo2").innerHTML = array[1];
}
function current(id) {
  var xhttp2 = new XMLHttpRequest();
  xhttp2.open("GET", "example.py?infokey="+id, false);
  xhttp2.send();
  var response = xhttp2.responseText;
  document.getElementById("demo3").innerHTML = response;
}

我已经广泛调试了python代码,这不是问题。有任何想法吗?

标签: javascriptpythonhtmlcssajax

解决方案


第二个功能不起作用,因为您试图在响应来自服务器之前读取响应。

尝试这个:-

function current(id) {
  var xhttp2 = new XMLHttpRequest();
  xhttp2.onreadystatechange = function () {
    if (this.readyState === 4 && this.status === 200) {
      var response = xhttp2.responseText;
      document.getElementById("demo3").innerHTML = response;
  }
  xhttp2.open("GET", "example.py?infokey="+id, false);
  xhttp2.send();
}

推荐阅读