GET /login.php HTTP/1.1// 请求头 Host:localhost Connection:Keep-Alive ...
username=admin&password=123456// 请求体
5.HTTP响应组成部分
一个数字和文字组成的状态码,用来显示请求是否成功
响应头,包含服务器类型、日期时间、内容类型和长度等
响应体,包含客户想从服务器获取的信息
1 2 3 4 5 6 7
HTTP/1.1200 OK // 响应成功 Data:Sun,23 Nov 201410:14:45 GMT Server:Apache Content-Encoding:gzip Content-Length:7112 Connection:Keep-Alive Content-Type:application/javascript
6.request.status–HTTP状态码
1XX:信息类,表示收到浏览器请求,正在进一步的处理中
2XX:成功,表示用户请求被正确接收,如:200 OK
3XX:重定向,表示请求没有成功,客户必须采取进一步的动作
4XX:客户端错误,表示客户端提交的请求有错误,如:404 NOT Found,意味着请求中所引用的文档不存在
5XX:服务器错误,表示服务器不能完成对请求的处理,如:500
五、XMLHttpRequest发送请求
open(method,url,async)
send(string)
setRequestHeader():向一个打开但未发送的请求设置或添加一个HTTP请求
1 2 3 4 5 6 7
// GET request.open("GET","get.php",true); request.send(); // POST request.open("POST","creat.php",true); request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); request.send("name=翌子涵&sex=男");
六、XMLHttpRequest取得响应
XHR的方法和属性
responseText:获取字符串形式的响应数据
responseXML:获得XML形式的响应数据
status和statusText:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有的响应报头
getResponseHeader():查询响应中的某个字段的值
readyState属性(存有XMLHttpRequest的状态码)
0:请求未初始化
1:服务器连接已建立
2:请求已接收,也就是接收到头信息了
3:请求处理中,也就是接收到响应主体了
4:请求已完成,且响应已就绪,也就是响应完成了
1 2 3 4 5 6 7 8 9
// 整个请求的过程 var request = new XMLHttpRequest(); request.open("GET","get.php",true); request.send(); request.onreadystatechange = function(){ if(request.readyState === 4 && request.status === 200){ // Todo } }