js学习总结----ajax中的http请求方式及同步编程和异步编程
2021-06-16 23:06
标签:san while set 时间 window tin 客户 creat 发送 一、请求方式 二、同步编程和异步编程 js学习总结----ajax中的http请求方式及同步编程和异步编程 标签:san while set 时间 window tin 客户 creat 发送 原文地址:http://www.cnblogs.com/diasa-fly/p/7269572.htmlvar xhr = createXHR();
xhr.open("get","/getList?num=12",true);
xhr.open("post","/getList",true);
xhr.send(‘{"name":"zhangsan","age":7}‘)
//HTTP METHOD;客户端向服务器端发送请求的方式
//以下的请求方式不管哪一种都可以向服务器传递数据,也可以从服务器中获取到数据,从本质意义上讲以下的方式是没有任何区别的,例如用post做的事情用get也能做,而我们接下来讲的区别都是目前开发者们约定俗成的规范:
/*
GET:一般应用于从服务器获取数据(给服务器的数据少,从服务器拿的数据多,项目中最常用的请求方式就是get)
使用GET请求给服务器传递内容我们一般都使用"URL问号传参的方式"
POST:一般应用于向服务器推送数据(给服务器的多,从服务器拿下来的少)
使用POST请求给服务器传递内容我们一般都使用"请求主体的方式"传递给服务器
PUT:一般应用于给服务器上增加资源文件(我们上传图片功能)
DELETE:一般应用于从服务器上删除资源文件
HEAD:一般应用于只获取服务器的响应头信息
*/
/*
GET PK POST
大小问题:
GET请求传递给服务器的内容存在大小的限制,而POST理论上没有限制
原因:GET通过URL传参给服务器,而每个浏览器对于URL的长度存在限制,谷歌8kb、火狐7kb、IE12kb的长度限制,如果URL的长度超过限制,浏览器会把超出的部分截取
缓存的问题:
GET请求会出现缓存(这个缓存不一定是304),POST是没有缓存的
在项目中我们的GET请求一般不会让其出现缓存"清楚缓存":在url的末尾加一个随机数
xhr.open("get","/getList?num=12&_="+Math.random(),true);
安全问题
一般来说GET不安全,而POST相对安全一些
*/
//同步(SYNC)和异步(ASYNC)编程
//JS是属于单线程的,我们最好使用异步编程
//定时器都是异步编程的
//事件绑定都是异步编程的
//回调函数也可以理解为异步编程
//在AJAX中可以使用异步编程
var count = 0;
window.setInterval(function(){
count++;
console.log(count);//再输出1
},1000)//如果定时器的时间设置为0也不是立马执行,而是需要等待一段时间,我们设定的时间是1000ms,但是不一定时间到就会执行,如果当前浏览器的线程被占用,会一直等待
console.log(count);//先输出0
while(1){
}//加了while之后定时器里面的代码就不会执行
//如果多个定时器的时间都到了,先执行时间短的这个定时器
//AJAX中的同步:当AJAX任务开始的时候(XHR.SEND)需要等到readyState===4,才可以执行下面的任务
//AJAX中的异步:当AJAX任务开始的时候(XHR.SEND)不需要等到readyState===4,我们依然可以继续做其他的任务,并且只有其他的任务完成后,我们在看是否为4,到达4的时候做一些相关的操作
下一篇:Aspectj 注解
文章标题:js学习总结----ajax中的http请求方式及同步编程和异步编程
文章链接:http://soscw.com/index.php/essay/94785.html