前后端在通信时,互相发送的消息包括头部消息和主体数据,而头部消息分为请求头和响应头两种。
请求头是前端发送,服务端获取。
响应头是服务端发送,前端获取。
设置请求头的规则:
- 请求头设置必须在open方法之后,send方法之前。
- 请求头可以自定义设置,但是必须在非同源时,服务器允许请求头跨域。
- 自定义请求头可以包含一些数据解析的信息,因为请求优先于数据到达服务端。【这样就可以让服务端根据收到的请求头采取相应的方式处理收到的数据】
设置请求头的格式:
设置请求头时需要先创建一个XMLHttpRequest对象,然后调用setRequestHeader方法:
XMLHttpRequest.setRequestHeader(name: string, value: string);
如果是通过AJAX的POST方式发送给PHP时,必须设置请求头为下面这个格式。
xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
设置请求头的示例:
var xhr = new XMLHttpRequest();
xhr.addEventListener("load", loadHandler);
xhr.open("POST", "http://10.9.72.236:4010");
xhr.setRequestHeader("names", "xiaoli");
xhr.send("aaa");
function loadHandler(e) {
console.log(xhr.getAllResponseHeaders());
console.log(xhr.getResponseHeader("content-type"));
}
xhr.getAllResponseHeaders() 获取所有响应头。
xhr.getResponseHeader(…) 获取指定的响应头。