在表单提交jquery之后,Flask重定向不起作用

时间:2015-06-29 10:23:00

标签: jquery python ajax flask

请帮助我解决问题:Flask在表单提交后不想重定向。 代码:

from flask import Flask, render_template, request, redirect, url_for
....
@app.route('/auth/')
def auth():
return render_template('auth.html')

这段代码很好用:),auth.html渲染表单:

{% extends "system.html" %}
{% block content %}
<form id="authen">
<input type="text" id="avtor_sku" pattern="[0-9]{1,13}" maxlength="13" value='' autofocus required>
</form>
{% endblock %}  

提交此表格 - 通过js-code:

$(document).ready( function(){$('#authen').submit( function(){ var avtor_sku = $("#avtor_sku").val();
data1= '' + avtor_sku;
$.ajax({type: "GET", url: "/auth_echo/", contentType: "application/json; charset=utf-8",
data:  {auth_echo_value: data1}, success: function() {alert(1)}});  
return false;});});     

此代码中的警报(1) - 工作。 Route / auth_echo /:

@app.route('/auth_echo/', methods=['GET'])
def auth_echo():
return redirect(url_for('openday'))

重定向不起作用。为什么呢?

1 个答案:

答案 0 :(得分:4)

您无法在AJAX之后重定向。

如果要重定向,可以执行以下操作:

application/pdf

请注意,假设数据是新网址,但您可以执行 $.ajax({ type: "POST", url: "http://example.com", dataType: 'json', success: function(data){ window.location.href = data; } }); 至&#34;重定向&#34;