可以通过自定义请求头信息的方式,从而使得服务器能够更加灵活地处理各类请求。比如判断是不是ajax请求,携带服务器错误代码号来寻找bug等等,具体的使用还要看业务逻辑。
而且,请求头有些信息是不可修改的,如Referer。
简单实验:
前端:
<html><head> <title>testtitle>head><body><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js">script><script type="text/javascript"> //设置请求头信息,同时获取响应头信息 $.ajax({ //设置请求头信息——方法一 headers: { "token1": "xxxx1" }, //设置请求头信息——方法二 // beforeSend: function (request) { // request.setRequestHeader("token1", "xxxx2");//设置请求头信息 // }, url:'test.php', type:'POST', data:{}, dataType:'json', success:function(data){ console.log(data); }, error:function(err){ console.log(err) }, complete:function(xhr, data){ console.log(xhr, data);//通过打印可以进一步了解详细信息从而进行下一步操作 var time=xhr.getResponseHeader('Date');// 服务器端时间 var list = xhr.getAllResponseHeaders();//获取头部全部信息 console.log(time, list); } })script>body>html>
后端:
<?php header('Content-type: application/html');//自定义响应头信息header("is_get:yes");//自定义响应头信息$res = 100;$text = "OK";$data = null;die(json_encode(array("res"=>$res,"text"=>$text,"data"=>$data)));//返回数据?>
请求头自定义的信息:
响应头自定义的信息: