用ajax时如何设置头部

如何在ajax请求时添加头部看到有2种写法

1.使用headers设置

$.ajax({
type:“post”,
url:urlstr,
dataType:‘json’,
async:true,
headers:{token:‘abck’},
success:function (data) {
console.log(data.info);
console.log(JSON.stringify(data));
},
error:function (xhr,text) {
alert(text);
}
});

2. 使用setRequestHeader设置

$.ajax({
type: “GET”,
url: “./testAE.php”,
success: function(data) {
$(“body”).append(data);
},
beforeSend: function(xhr) {
xhr.setRequestHeader(“Accept-Encoding”, “testAE”);
xhr.setRequestHeader(“token”, “tokenValue”);
}
});

添加自定义请求需要在后台设置允许发送的请求头 Access-Control-Allow-Headers

public function test_jsonp()
{
header("Access-Control-Allow-Headers: token");
$arr = getallheaders();
foreach($arr as $key=>$val){
$data[$key] = $val;
}
 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Allow-Headers", "myToken,Access-Token,ke,key,key2,key3,key4,key-lami,a,token,lami-token,lami-token-web,lami-user");
        response.setHeader("Access-Control-Expose-Headers", "*");
        chain.doFilter(req, res);
    }

更多推荐

ajax如何设置请求头部