重定向到金字塔中的剪切 URL

Redirecting to a cutted URL in Pyramid

我得到了一个 URL 喜欢:http://localhost:4284/?session_expired=true 现在我正在发送 AJAX-Request 请求,return 应该是带有“http://localhost:4284/”的 HTTPFound。 削减 URL 不是问题,但金字塔或浏览器忽略了更改,因此将参数 session_expired 保留在 window 位置:(

谢谢

AJAX 请求不会影响 window 位置(我想你希望浏览器由于 AJAX 请求而转到一个全新的页面,所以地址在浏览器的地址栏中更改)。

处理 AJAX 请求的响应时,您可以在 JavaScript 中手动执行此操作:

$.ajax(
   ...
}.done(function (data) {
    if (data.redirect_to) {
        window.location =  data.redirect_to;
    }
});

在上面的示例中,服务器 returned 200 Ok 状态,带有 JSON 响应,类似于 {"redirect_to": "http://localhost:4284/"}。您可能更喜欢 return 不同的 HTTP 状态并在错误处理程序中处理它。

如果您要返回 HTTPFound-Object,请不要将其解析为 JSON,而是解析为 HTML!