gpt4 book ai didi

javascript - 为什么我的页面在提交帖子后没有重定向?

转载 作者:行者123 更新时间:2023-12-01 00:09:53 24 4
gpt4 key购买 nike

下面的代码似乎可以正常工作。帖子通过后,我什至在控制台上看到了我重定向到的页面的 GET 消息。但我的浏览器不会切换到显示“Hello”的新页面。如果我直接浏览到/PostTest 那么它就可以工作。

我也收到了“欢迎”消息。

</script>
<!DOCTYPE html>
<head>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<html>
<body>
<div class="row"></div>
Any Day Drinking Club's Six Nations Table Generator
<div class="row">
<div class="input-field col s6 offset-m2 offset-l4 m4 l2">
<input placeholder="Username" id="username" type="text" />
</div>
<div class="input-field col s6 m4 l2">
<input placeholder="Password" id="password" type="password" />
</div>
</div>
<div class="row">
<a class="waves-effect waves-light btn" id="loginbutton">Login</a>
</div>
<script>$("#loginbutton").click(function(){
$.ajax({
type: 'POST',
url: "/loginsubmit",
success: function(){
alert("Welcome ");
}
}
)
});
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script></body>
</html>
from flask import Flask, request, redirect, url_for
import yaTemplates as Templates

app = Flask(__name__)

@app.route('/')
def index():
return Templates.login()

@app.route('/PostTest')
def test():
return 'Hello'

@app.route("/loginsubmit", methods=["POST"])
def loginsubmit():
# + request.json["username"]
return redirect(url_for('test'))


app.run(debug=True)

最佳答案

这是因为您正在使用 AJAX。您正在以编程方式通过浏览器在幕后发送请求,该请求是独立的,与您在屏幕上看到的内容无关。

在 Flask 中,您需要使用要重定向到的 URL 进行响应。在客户端,您需要将 window.location 设置为该 URL。

编辑:作为一个小演示,您可以打开浏览器开发人员工具(右键单击任何网页,选择“检查元素”),然后选择“控制台”选项卡,然后输入 window.location = "https://google.com" 然后按 Enter 键,您的浏览器将更改网址并浏览至 Google。

enter image description here

from flask import Flask, request, redirect, url_for
import yaTemplates as Templates

app = Flask(__name__)

@app.route('/')
def index():
return Templates.login()

@app.route('/PostTest')
def test():
return 'Hello'

@app.route("/loginsubmit", methods=["POST"])
def loginsubmit():
# + request.json["username"]
return url_for('test')


app.run(debug=True)

客户端:

<script>
$("#loginbutton").click(function () {
$.ajax({
type: 'POST',
url: "/loginsubmit",
success: function (url) {
window.location = url;
}
})
});
</script>

关于javascript - 为什么我的页面在提交帖子后没有重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59701130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com