我正在使用 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);
}
添加回答
举报
0/150
提交
取消