从JQuery Ajax响应访问特定标头

时间:2015-12-22 06:43:02

标签: javascript jquery ajax

我正在使用JQuery执行POST方法

var params = JSON.stringify({ UserName: usr, Password: pwd });
        var temp = $.ajax({
            method: 'POST',
            contentType: 'application/json',
            url: 'some-url',
            data: params,
            dataType: 'json',
            complete: function (data, textStatus, request) {
                var ResponseCode = data.responseJSON.ResponseCode;
                var ResponseMessage = data.responseJSON.ResponseMessage;
                var TokenKey = data.responseJSON.TokenKey;
                var UserName = data.responseJSON.UserName;
                var type = data.responseJSON.Type;

                if (ResponseCode == 100 && type == 1) {
                    window.open("page2.html", "_self");

                }
                else if (ResponseCode == 100 && type == 0) {
                    window.open("page1.html", "_self");
                }
                else if (ResponseCode != 100) {
                    alert(temp.getAllResponseHeaders);
                }
            },
            error: function (data) {
                alert("error")
            }
        });

现在我可以在响应正文中成功找到所有必需的数据但是有一些特定的标题我希望将其放入变量

我尝试使用COMPLETE扇区实现以下几行

var h = request.getHeader("Authorization-Token");

var h = request.getAllHeaders("Authorization-Token");

但我总是得到null或undefined任何帮助或建议都非常感激

1 个答案:

答案 0 :(得分:0)

在您的服务器上,您需要将此标头添加到响应中:

    var $el = $("#city"); 
    $el.empty(); // remove old options
    $el.append($("<option value=''>Please Select</option>");
    $.each(json, function(value, key) {
        $el.append($("<option value='"+ value +"'>"+key+"</option>");
    });