如果ajax post成功将用户重定向到新的flask路径

时间:2015-06-07 14:21:38

标签: jquery ajax flask

我正在尝试让我的用户在提交后重定向,但我一直在让ajax失败。

          $.ajax({
            url: '/testing',
            contentType: 'application/json',
            type: 'post',
            dataType : 'json',
            data: JSON.stringify(data),
              success: function (data) {
                console.log(data);
              // ajax success callback
            }, error: function (response) {
              alert('ajax failed');
              // ajax error callback
            },
          });
        });

这是我的烧瓶路线

@app.route('/testing', methods=['GET', 'POST'])
def testing():
    return url_for('results')

@app.route('/results', methods=['GET', 'POST'])
def results():
    return render_template('index.html')

1 个答案:

答案 0 :(得分:0)

当您指定`dataType:' json``时,JQuery将尝试将响应解析为JavaScript对象(或数组),然后再将其传递给成功处理程序。如果响应无效JSON,JQuery将调用错误处理程序。

如果您返回的内容如下,则无效JSON:

/xxxx/xxxx

有效的JSON可能如下所示:

{ "url" : "/xxx/xxx" }

另一种选择是改为dataType: 'text'。在这种情况下,JQuery在调用成功处理程序之前不会解析响应。它只会将响应文本传递给成功处理程序。