ajax通过jquery请求重定向的url

时间:2010-05-08 20:31:18

标签: c# .net jquery ajax asp.net

我在调用URL后尝试访问数据,该URL将输出重定向到带有查询字符串的另一个页面。

即:

 $.ajax({
        url: 'http://foo.com/results/bar.aspx?fooid = 123&more=1',
        success: function(data) {
            alert('Load was performed.'+data);
        }
    });

请求结果为空。此URL是重定向到另一个带有查询字符串的页面,我已经有一个页面可以解析查询字符串并将输出写入页面。

但回应是空白的。

我如何获得这些数据?

1 个答案:

答案 0 :(得分:0)

通过调用getResponseHeader() - 对象上的xmlHttpRequest,您可以获得"Location"的值,并查看是否发生了重定向。在这种情况下,您可以将该值用作新URL。

$.ajax({
        url: 'http://foo.com/results/bar.aspx?fooid = 123&more=1',
        success: function(data, textStatus, xmlHttpRequest) {
            var newUrl = xmlHttpRequest.getResponseHeader('Location');
            if (newUrl) {
                // Try request again with newUrl as new url...
            }
        }
});

要改进代码,首先应查看状态代码,看看是否真的发生了重定向。状态代码应为301或302。