javascript - 烧瓶网络应用程序会话无法正常工作
问题描述
我正在尝试使用 Flask 和套接字创建一个聊天应用程序,灵感来自于看到 Tech with Tim 创建它。我有一个问题,由于某种原因,出现的名称是主屏幕中输入的最新名称。主要的代码片段是:
@app.route("/getName") def getName(): output = {"name": ""}
if NAME_KEY in session:
output["name"] = session[NAME_KEY]
print("output", output)
return jsonify(output)
一开始的作用
@app.route("/", methods = ["POST", "GET"])
def sessions():
if request.method == "POST":
name = request.form["usernameInput"]
if len(name) >= 1:
session[NAME_KEY] = name
return mainPage()
return render_template("usernamePage.html")
javascript
var form = $("form").on("submit", async function(e) {
e.preventDefault()
// let user_name = $("input.username").val();
// get the name from flask backend, convert it into json and use it
let dictionary = await fetch("/getName");
let response = await dictionary.json();
let user_name = response.name;
let user_input = $("input.messageInput").val();
socket.emit("my event", {
userName : user_name,
message : user_input
} )
$("input.message").val("").focus()
} )
如果您愿意,我可以发送更多代码。
解决方案
推荐阅读
- c - 有没有办法在 C 中按字面意思制作打印字符串?
- vue.js - Vue 计算未更新
- python - 面板小部件不会更新熊猫数据框以进行显示
- java - 理解同步、等待和通知的简单线程程序
- wordpress - 有没有办法在 WordPress Gutenberg 编辑器中添加不可重用的块或设计模式?
- python - 使用 PRAW 获取新帖子视频的 url 并将其发送到不和谐服务器(praw,discord.py)
- ios - 如何实现一个中缀自定义运算符来处理 swift 中的可选性
- maven - 如何通过 GitHub 进行身份验证以在 CircleCI 中安装私有 Maven 包?
- c++ - 当代码进入 print_city 函数时,变量“code_search”重置为 0
- postman - Acumatica API - 预约附件