jQuery - 获取AJAX响应头

App*_*pps 35 jquery httpresponse

当我们使用jQuery触发ajax请求时,我们如何访问响应头?我根据某些网站提供的建议尝试使用以下代码.但是xhr对象将变为空.我xhr在这种情况下看到了一个对象.但它没有访问响应头的方法.

    function SampleMethod(){
    var savedThis=this;
        this.invokeProcedure=function(procedurePath){
            $.ajax({
                    type: "GET",
                    url: procedurePath,
                    dataType: "json",
                    success: function(data,status,xhr){savedThis.resultSetHandler(data,status,xhr);}
                });
        }

        this.resultSetHandler=function(data,status,xhrObj){
            //Handle the result
        }

        this.errorHandler=function(args){
            //Handle the result
        }

    }

var sampleObj=new SampleMethod();
sampleObj.invokeProcedure('url');
Run Code Online (Sandbox Code Playgroud)

odu*_*ont 73

为了向后兼容XMLHttpRequest,jqXHR对象将公开以下属性和方法:getAllResponseHeaders()getResponseHeader().来自$ .ajax()doc:http://api.jquery.com/jQuery.ajax/

对于jQuery> 1.3

success: function(res, status, xhr) { 
  alert(xhr.getResponseHeader("myHeader"));
}
Run Code Online (Sandbox Code Playgroud)

  • getAllResponseHeaders() 只给出 content-length: 0 content-type: text/html; charset=UTF-8 但在 Chrome 网络中我看到 Access-Control-Allow-Credentials: fa... ... Access-Control-Allow-Origin: https://sho... Access-Control-Max-Age: 1728... 连接:保持活动 内容长度:0 内容安全策略:框架祖先“无” 内容类型:text/html;字符集=UT 刷新:0;url=https://sec... 服务器: nginx/1.1... Set-Cookie: lang=ru; ...发现更多。我需要刷新但无法获取 (2认同)