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 的公认答案显示了正确的语法。