Flask重定向(urlfor())不会重新加载页面

这个问题在这里已经有了答案:

  • 如何在jQuery Ajax调用30个答案后管理重定向请求

  • AJAX无法处理重定向响应,afaik。 但是,您可以将<span id="message"> {{message}}封装在<span id="message"> ,标识元素,并在AJAX完成成功时执行jQuery .html()插入自定义文本。

    $.ajax({
       type: "POST",
       contentType: "application/json; charset=utf-8",
       url: "/second_route",
       data: JSON.stringify({}),
       success: [],
       dataType: "json"
    }).done(function(){
       $('#message').html('test');
       window.location.href = '/';
    }).fail(function(response){
       $('#message').html(response['responseText']);
    });
    

    为了重定向,你需要用window.location.href = "/someURL"替换done子句中的代码,但由于端点是相同的,所以这不是必需的。 这样,根本不需要使用message变量。


    这就是我最终为那些阅读问题的人解决问题的方法。

    将我的发布请求更改为发布到相同的路由,然后使用此调用加载页面:

     var posting = $.post(window.location.href, {'some key': 'some value'});
                    posting.done(function( ) {
                        window.location.replace(window.location.href);
                    });
    
    链接地址: http://www.djcxy.com/p/12467.html

    上一篇: Flask redirect(urlfor()) doesn't reload the page

    下一篇: Flask how to redirect to new page after ajax call