1.首先了解什么是http协议
①什么是协议?
两个人约定好要去做同一件事情(如:住房协议)。
②http协议是谁和谁的协议?
HTTP协议就是浏览器和服务器两个物体之间的协议。
③为什么要遵循http协议?
因为要规范和约束浏览器和服务器之间的沟通,大家都遵循统一的http协议,才能进行正常的沟通。
2.ajax请求就是一个http请求
ajax请求,就是客户端向服务器发送了一个http请求,所以ajax遵循http协议。
3.什么是响应头、响应体、请求头、请求体
一个http请求,是有响应头、响应体、请求头、请求体的。
为了方便理解,可以简单的这样认为它们分别是啥:
4.ajax请求如何去遵循http协议
理解这两句话:
①ajax请求遵循http协议就是发送请求的时候,设置请求头和请求体来规范请求数据格式。
②浏览器是根据你设置的 请求头Content-Type 来解析你设置请求体的值的,所以请求头Content-Type的值要根据请求体格式的改变而改变。
来两个例子来理解这两句话:
var xhr = new XMLHttpRequest();
xhr.open('POST', '05add.php');
// 一旦你的请求体是 urlencoded 格式的内容,一定要设置请求头 Content-Type 为 'application/x-www-form-urlencoded' ,也就是说请求头Content-Type的值要根据请求体格式的改变而改变
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send('age=11&sex=男'); // 以 urlencoded 格式设置请求体
var xhr1 = new XMLHttpRequest();
// 一旦你的请求体是 json 格式的内容,一定要设置请求头 Content-Type 为 'application/json' ,也就是说请求头Content-Type的值要根据请求体格式的改变而改变
xhr1.open('POST', '05add.php');
xhr1.setRequestHeader('Content-Type', 'application/json');
xhr1.send('{"sex":"男","age":11}');// 以 json 格式设置请求体