同步和异步以及get、post请求方式的区别

同步:同步相当于一个小整体,它有连续的一个流程,就好比你的上级让你去叫一个同事和你一起去做某件事,你去叫了你同事,但是你同事因为有点事会晚点到,所以你会处于一个等待的过程,而这个过程中你不能做任何事,直到等你同事过来之后才能做。
同步模式发出的请求会暂停所有JavaScript代码的执行,直到服务器获得响应为止,如果浏览器在连接网络时或者在下载文件时出了故障,页面就会一直挂起,这也会导致浏览器被锁死,用户其它操作必须等待请求完成才可以执行,这是一件非常令人郁闷的事。
简述:向服务器提交请求——》等待服务器处理(这个期间客户端浏览器不能做任何事)——》处理完成返回

异步:为了提高用户体验,经常会用到异步,异步的话你可以在等待你同事的过程中做些别的事情,等到他来的时候就一起工作。
再比如打电话是同步,发消息是异步,在某一刻,打电话只能是一对一,而发消息的话就可以一对多。
异步模式发出的请求,请求对象收发数据的同时,浏览器可以继续加载页面,执行其他JavaScript代码。
简述:请求通过事件触发——》服务器处理(这个时候浏览器可以做其它事)——》处理完成
AJAX中大都是异步提交,虽然可以把async参数设置为false同步提交,但是不建议把它设置为false,这就意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死,用户的其它操作必须等待请求完成才可以执行

向服务器发送请求的方式有两种:get和post
get和post请求数据的区别:

  • Get请求数据相比post请求数据要更简单也更快,在大部分情况下都能使用。但是,在无法使用缓存文件(更新服务器上的文件或数据库),向服务器发送大量数据(post是没有数据量限制的),以及发送包含位置字符的用户输入时,post比get更稳定也更可靠,在这些情况下,必须选择post请求。
  • 在AJAX中,get请求传递参数拼接在url后面,而post请求数据是放在send()中的,post比get更为安全。但是get传输速度比post快,这个是根据传参决定的。(post通过请求体传参,服务器通过数据流来接收,速度就稍慢一些;而get通过url传参就可以直接获取了,因此相对较快)
    get请求:请求数据在url后拼接
    xmlhttp.open(“GET”,“Demo.html?name=”+name,true);
    post请求:请求数据放在send()中,即请求体中
    xmlhttp.open(“POST”,“Test.html”,true);
    xmlhttp.send(“name=Henry&lname=Ford”);
    但是总体来说,post比get要稳定(传输大量的数据时,并且上传的都是重要数据,传输的文件大小,没有限制)。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值