猿问

jQuery和Ajax响应头

jQuery和Ajax响应头

因此,我得到了jQueryAjax调用,响应以302重定向的形式来自服务器。我想重定向并将其加载到iframe中,但是当我试图使用javascript警报查看头信息时,它会出现NULL,尽管Firebug正确地看到了它。

这是代码,如果有帮助的话:

$j.ajax({
    type: 'POST',
    url:'url.do',
    data: formData,
    complete: function(resp){
        alert(resp.getAllResponseHeaders());
    }});

我没有真正的访问服务器端的东西来将URL移动到响应体,我知道这将是最简单的解决方案,所以任何解析头部的帮助都是很棒的。


宝慕林4294392
浏览 1151回答 3
3回答

泛舟湖上清波郎朗

如果这是CORS请求,您可能会看到调试工具中的所有标头(例如Chrome->InvisionElement->Network),但是xHR对象将只检索报头(通过xhr.getResponseHeader('Header'))如果这样的标题是简单响应标头:Content-TypeLast-modifiedContent-LanguageCache-ControlExpiresPragma如果它不在此集合中,则必须在访问-控制-公开-标头服务器返回的标头。对于所讨论的情况,如果是CORS请求,则只能检索Location头通过XMLHttpRequest如果并且仅在以下标题也存在的情况下,才会出现:Access-Control-Expose-Headers: Location如果不是CORS请求,XMLHttpRequest取回它就没问题了。

临摹微笑

var geturl;   geturl = $.ajax({     type: "GET",     url: 'http://....',     success: function () {       alert("done!"+ geturl.getAllResponseHeaders());     }   });
随时随地看视频慕课网APP
我要回答