发表于: 2017-10-24 23:57:19
2 605
今天完成的事情:修改任务2-4中间的问题。晚上抢红包、无心学习所以就看看任务5的知识点、
明天计划:继续改任务四、学习任务五
遇到的问题: 无
收获:
同步:页面请求实时传给服务器,导致必填数据没有填的时候,要回到页面上重新填写,耗时长、用户体验差。
异步:在页面必填项写上必填选项,不用通过传给服务器判断必填内容是否已经填写完整,耗时短、用户体验强。
首先要实例化一个对象。
var request = new XMLHttpRequest();
因为有的浏览器不支持 通过下面这段代码来验证浏览器是否支持
var request;
if(window.XMLHttpRequest){
request = new XMLHttpRequest(); // IE7+,Firefox,Chrome,Opera,Safari...
}else{
request = new ActiveObject("Microsoft.XMLHTTP"); // IE6,IE5
}
完整的http请求过程;
1 建立TCP链接
2 web浏览器向web服务器发送请求命令
3 web浏览器向web服务器发送请求头文件
4 web服务器应答;
5 web服务器向web浏览器发送请求头文件
6 web服务器向web浏览器发送数据
7断开TCP链接
HTTP 请求有四部分
响应头、响应体、url方法(get post);
HTTP响应包含包含三部分:
一个数字和文字组成的状态码用来显示请求是否成功;
响应头:包括时间、服务器类型、数据类型、长度等;
响应体:响应正文;
HTTP状态码由3位数字构成,其中首位数字定义了状态码的类型:
1XX:信息类,表示收到Web浏览器请求,正在进一步的处理中
2XX:成功,表示用户请求被正确接收,理解和处理 例如:200 OK
3XX:重定向,表示请求没有成功,客户必须采取进一步的动作
4XX:客户端错误,表示客户端提交的请求有错误,例如:404 NOTFound,意味着请求中所引用的文档不存在。
5XX:服务器错误,表示服务器不能完成对请求的处理:如 500;
XMLHttpRequest()发送请求:
open(method,url,async)
method是方法 get 或者 post
async 是填写同步还是异步 true
readyState
0:请求未初始化,open还没有调用了;
1:服务器连接已调用,open已经调用了;
2:请求已接受,也就是接收到头信息了;
3:请求已经处理,也就是接受到响应主题了;
4:请求已经完成、且响应已经就绪;
var request = new XMLHttpRequest();
request,open("POST","",true);
request.send();
request.onreadystatechange = function(){
if(request,readyState= = 4 && request,status= =200){
}
}
师兄看我看我如此认真的写日报、给个上评鼓励一下呗。
帮我看看任务四哪里有问题吧。
评论