1

我正在尝试登录我的 Restlet 服务器(我正在使用最新版本的 restlet)。在我的服务器上,我有一个 cookie 身份验证器来保护资源。我正在使用以下 ajax 调用:

$.ajax({
type: "POST",
url: http://localhost/login?targetUri=/html/business.html#5,
data: $('#login').serialize(),
success: function(data, textStatus, jqXHR) {
if (data.redirect) {
window.location.href = data.redirect;
}
}
});

正如这个链接中提到的

因为答案是 HTTP 重定向,所以浏览器会自动发送重定向地址的 GET 请求,然后 data.redirect 未定义。“数据”实际上包含重定向页面的内容。我将其更改为:

if (textStatus == "success") { 
document.location = jqXHR.getResponseHeader("Content-Location");
...

但这最终有两个 GET 请求/html/business.html。处理重定向的正确方法是什么?

4

0 回答 0