xmlHttpRequest 停留在就绪状态 1
xmlHttpRequest stuck on readystate 1
我正在处理我的第一个 XMLHttpRequest,但运气不佳。我认为错误是在烧瓶方面的某个地方,因为在 request.onload 行,请求就绪状态为 1,因此它直接跳到 request.send().
Javascript:
// Load user's last page
loadPage('chat');
window.onpopstate = e => {
const data = e.state;
document.title = data.title;
document.querySelector('#body').innerHTML = data.text;
};
function loadPage(name) {
const request = new XMLHttpRequest();
request.open('GET', '/{name}');
request.onload = () => {
const response = request.responseText;
document.querySelector('#body').innerHTML = response;
document.title = name;
};
request.send();
};
在 Flask 方面:
import requests
from flask import Flask, jsonify, render_template, request, session
@app.route('/chat', methods=['GET'])
def chat():
channel = session['channel']
print('channel: ', channel)
return jsonify ({'channel': channel, 'username': session['username']})
另请注意:发出 GET 请求后,'channel' 未在服务器端打印,这告诉我实际上并未发出 GET 请求。知道是什么阻碍了我吗?
此 '/{name}'
不是正确的字符串插值语法。它按字面计算为 /{name}
。我会做 '/' + name
,但好奇心战胜了我,发现 this question 的公认答案显示了正确的语法。
我正在处理我的第一个 XMLHttpRequest,但运气不佳。我认为错误是在烧瓶方面的某个地方,因为在 request.onload 行,请求就绪状态为 1,因此它直接跳到 request.send().
Javascript:
// Load user's last page
loadPage('chat');
window.onpopstate = e => {
const data = e.state;
document.title = data.title;
document.querySelector('#body').innerHTML = data.text;
};
function loadPage(name) {
const request = new XMLHttpRequest();
request.open('GET', '/{name}');
request.onload = () => {
const response = request.responseText;
document.querySelector('#body').innerHTML = response;
document.title = name;
};
request.send();
};
在 Flask 方面:
import requests
from flask import Flask, jsonify, render_template, request, session
@app.route('/chat', methods=['GET'])
def chat():
channel = session['channel']
print('channel: ', channel)
return jsonify ({'channel': channel, 'username': session['username']})
另请注意:发出 GET 请求后,'channel' 未在服务器端打印,这告诉我实际上并未发出 GET 请求。知道是什么阻碍了我吗?
此 '/{name}'
不是正确的字符串插值语法。它按字面计算为 /{name}
。我会做 '/' + name
,但好奇心战胜了我,发现 this question 的公认答案显示了正确的语法。