发表于: 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){

 }

}


师兄看我看我如此认真的写日报、给个上评鼓励一下呗。

帮我看看任务四哪里有问题吧。




返回列表 返回列表
评论

    分享到