gpt4 book ai didi

jquery - 使用 jquery .ajax() 重定向的 POST 之后获取实际 URL

转载 作者:行者123 更新时间:2023-12-03 22:09:53 24 4
gpt4 key购买 nike

我在 Web 应用程序中遵循 PRG(Post-Redirect-Get)模式,并使用类似以下内容来执行大部分 POST:

$.ajax({
type: 'POST',
url: 'A.html',
data: '....',
statusCode: {
302: function() {
alert("302"); // this is never called
},
200: function() {
alert("200");
},
},
success: function (data, textstatus) {
alert('You are now at URL: ' + ??);
},
error: function (data) {
},
complete: function (jqXHR, textstatus) {
alert('You are now at URL: ' + ??);
},
});

我需要在发生任何重定向后获取 URL,即 .ajax() 函数调用的最终 GET 的 URL。例如,发送到 A.html 的 POST 可能会重定向到 B.html 或 C.html(始终通过 302)。如何获取最终 URL?

我正在使用 jquery 1.5.1,并且使用代理见证了 jquery 默默地遵循重定向 - 我对此感到满意。我不关心任何响应 302 的 URL - 我只想知道 .ajax() 的“success:”或“complete:”钩子(Hook)被触发时最终请求的 URL。

最佳答案

我最终通过在所有响应中添加额外的 header 解决了这个问题(例如“X-MYAPP-PATH:/Admin/Index”)。

我的 JavaScript 可以更改为以下内容:

success: function (data, textstatus, xhrreq) {
alert('You are now at URL: ' + xhrreq.getResponseHeader("X-MYAPP-PATH"));
},

但是我仍然相信 jquery 应该能够给我当前的 URL,所以我认为这是一个 hack。

关于jquery - 使用 jquery .ajax() 重定向的 POST 之后获取实际 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com