AJAX pos后的金字塔HTTP重定向

2024-06-23 03:05:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在jquery发布到服务器之后,是否可以重定向到另一个页面?一旦用户登录,我想返回一个json响应或重定向到另一个页面。我知道调用的是正确的视图callable,因为我可以看到来自服务器的日志语句。在

以下是我的jquery帖子:

function postToServer(url, params) {
    $.ajax({
        type: 'POST',
        url: url,
        data: JSON.stringify(params),
        contentType: 'application/json; charset=utf-8',
        statusCode: {
            200: function (data, textStatus, jqXHR) {
                return data;
            },
            201: function (data, textStatus, jqXHR) {
                return data;
            },
            400: function(data, textStatus, jqXHR) {
                return data;
            }
        }
    });
}

这是相当基本的,似乎运作良好。每当我返回json时,它都会正确地处理响应。在

以下是我的观点:

^{pr2}$

我希望Login类中的post方法处理交互,但是当我尝试使用“returnhttpfound(location)”重定向到这里时=self.request.route_网址('/dashboard'))“什么都没有发生。我也很难得到request.json_主体对象超出请求(为null),但这是另一个问题。谢谢你的帮助。在


Tags: 用户服务器视图jsonurldatareturnrequest
2条回答

使用AJAX时,浏览器不会请求显示页面。在

重定向只是将客户机指向另一个URL以获取响应,而使用AJAX进行重定向时,浏览器只需从新位置获取AJAX响应。如果加载的是页面,则重定向意味着只需从另一个位置加载数据。在

换句话说,对AJAX请求的响应永远不会改变浏览器页面本身。您需要用JavaScript代码来代替它。从POST处理程序返回一个URL,然后使用window.location = newurl。在

我认为要实现你想要的,你不能返回金字塔重定向到ajax调用。在

返回带有状态和重定向url的json数据

然后在前端,您可以重定向用户成功

window.location = http://redirecturlhere

相关问题 更多 >

    热门问题