我使用Flask中的redirect进行重定向,大概代码是这样子的(因为刚刚开始学,所以代码很简单)
from flask import Flask, render_template, request, redirect, url_for
# set the project root directory as the static folder, you can set others.
app = Flask(__name__)
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
return redirect(url_for('todo'))
else:
return render_template("login.html")
@app.route('/todo')
def todo():
return render_template("todo.html")
@app.route("/detail")
def detail():
return render_template("detail.html")
然后我在网页端使用$.post("/login", data)
来发post请求,Flask的记录里先有POST /login 302,然后有GET /todo 200
,按理来说已经成功了,但是浏览器内的内容毫无反应。直到我把页面内jQuery相关的部分注释掉才能正常跳转了。求问大神们这到底是什么原因?如何让这两者和谐相处呢?
你这边是使用ajax提交的吧
你重定向后返回的应该是html页面吧。
你可以试着在浏览器调试模式下,看看返回的是啥
前端jquery和后端flask,不会用冲突才怪,他们之间是http协议交互,已经分离了。