ajax 返回response 获取 headers中的参数

207 阅读1分钟

 1.ajax  请求

<script type="text/javascript">

    var tokenid = "222sdasdadsfd";
    function a() {

        $.ajax({
            type: "post",
            url: "http://xxxx/currentuser",
             contentType: "application/json; charset=utf-8",
            dataType: "json",
            headers: {
                tokenId: tokenid
            },

            success: function (data, textStatus, request) {



//获取header中 存放的tokenid


                var tokenid2 = request.getResponseHeader("tokenId")
                if (tokenid2 != null) {
                    tokenid = tokeid2;
                }


            }
        });
    }
</script>

2.浏览器默认是不让获得header中其他值,只能获得 Content-Type

在你服务端 我用的java  返回的时候写上   res.setHeader( "Access-Control-Expose-Headers" ,TOKEN_NAME);

 TOKEN_NAME 就是你在ajax中获得的参数 随便你怎么写

res.setHeader("Access-Control-Expose-Headers", TOKEN_NAME); 

//保持一致 属性多了用 ,号隔开

res.setHeader(TOKEN_NAME, Base64Utils.encoderString(gson.toJson(tokenEntity2)));

3.快去试试吧