为了账号安全,请及时绑定邮箱和手机立即绑定

AJAX 正在返回 readystate=1

AJAX 正在返回 readystate=1

慕莱坞森 2023-05-25 15:43:57
我正在使用 Flask 和 Python。从 Flask 方法中,我试图在 AJAX 调用中返回 HTML 表格行。HTML 页面有:<div><table id="tableQuestions"></table>//AJAX Requests to getfunction loadQuestions() {  var xmlHttp = new XMLHttpRequest();   xmlHttp.onreadystatechange = function() {   alert(xmlHttp.readyState + " " + xmlHttp.status);   if (xmlHttp.readyState==4 && xmlHttp.status == 200) {       var response = xmlHttp.responseText;       console.log(response);       document.querySelector("#tableQuestions").innerHTML=response;   }   xmlHttp.open("GET", '/gS', true);   xmlHttp.send(null);  }}Flask 路线有:#test.mix() returns html table rows@gbp.route('/gS')def gS():    test=mn()    response = make_response(test.mix(quesCount=4),200)    response.mimetype="text/html"在 Safari 调试器中,我可以看到有responseText来自服务器的表数据,但readystate仍然是 1 和status= 0。你能建议我如何克服这个问题吗?
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

你有


xmlHttp.open("GET", '/gS', true);

xmlHttp.send(null);

在你的xmlHttp.onreadystatechange回调函数中,这会导致奇怪的效果。


以下代码(未经测试)应该表现得更好:


//AJAX Requests to get

function loadQuestions() {

  var xmlHttp = new XMLHttpRequest();

  xmlHttp.open("GET", '/gS', true);


  xmlHttp.onreadystatechange = function() {

    alert(xmlHttp.readyState + " " + xmlHttp.status);

    if (xmlHttp.readyState==4 && xmlHttp.status == 200) {

      var response = xmlHttp.responseText;

      console.log(response);

      document.querySelector("#tableQuestions").innerHTML=response;

    }

  }


  xmlHttp.send(null);

}


查看完整回答
反对 回复 2023-05-25
  • 1 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信