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

前端之家收集整理的这篇文章主要介绍了在使用jquery .ajax()重定向的POST之后获取实际的URL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在跟踪我的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,});

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

我正在使用jquery 1.5.1,并使用代理人目睹了jquery默认遵循重定向 – 我很高兴.我不在乎任何响应302的网址 – 我只想知道.ajax()的“success:”或“complete:”钩子被触发的最终请求的URL.

解决方法

我终于通过在我的所有回答中添加了一个标题(例如“X-MYAPP-PATH:/ Admin / Index”)来解决这个问题.

我的javascript可以改为如下:

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

我仍然相信,jquery应该能够给我现在的URL,所以我认为这是一个黑客.

猜你在找的jQuery相关文章