问 Flask的redirect函数与jQuery冲突?
高洛峰
高洛峰 2016-10-28 10:46:53
0
1
993

我使用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相关的部分注释掉才能正常跳转了。求问大神们这到底是什么原因?如何让这两者和谐相处呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all (1)
三叔

这应该是jq的ajax不支持302.
参考这篇文章: ajax与302响应
我一般是这样处理的:

ajax提交

返回json数据(包含是否成功,跳转地址等信息)

如果成功设置session,前端再判断进行跳转.


    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!