Ajax之同步请求和异步请求的区别

Ajax之同步请求和异步请求的区别

同步是指:

发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。

用户填写所有信息后,提交给服务器,等待服务器的回应(检验数据),是一次性的。信息错误又要重新填写!

异步是指:
发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

当用户填写完一条信息后,该信息会自动向服务器提交,然后服务器响应客户端,在此过程中,用户依然在填写表格的信息,即向服务器请求多次,节省了用户的时间,提高了用户的体验。

同步请求:

客户端请求(等待)->服务端处理->响应->页面载入

(缺少对象:XMLhttpRequest)
这时候如果有错误,只能再次发送请求,再次等待

异步请求:

比如当你填写邮箱地址的时候,页面当时就把邮箱地址发送到了服务器(也就是页面发送了一个请求),服务器做处理和响应,得到你的邮箱地址填写重复了,把响应结果发给页面,在这个过程中你仍然可以填写其他内容,这时候服务器会提示你有重复的邮箱地址,在页面上的表现只是邮箱地址旁别加了一行字或者把整个文本框标红,并没有重新刷你的页面,所有的填写错误会实时的显示出来,你也会实时的更正。这个过程中,你会有整个页面的刷新,也不会有整个页面的提交和等待,最后提交,一切都会搞定的

总结:页面上的操作和服务器端的操作互相之间不会造成阻塞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ajax中,同步请求异步请求是两种不同的请求方式。 同步请求是指在发送请求后,浏览器会等待服务器返回响应后再继续执行后续的代码。也就是说,在同步请求中,浏览器会阻塞页面的加载和用户的交互,直到服务器返回响应为止。 异步请求是指在发送请求后,浏览器不会等待服务器返回响应,而是继续执行后续的代码。当服务器返回响应时,浏览器会触发相应的事件处理程序来处理响应。在异步请求中,页面的加载和用户的交互不会被阻塞,用户可以继续进行其他操作。 下面是一个示例代码,展示了同步请求异步请求的差别: ```javascript // 同步请求示例 var xhrSync = new XMLHttpRequest(); xhrSync.open('GET', 'https://example.com/api/data', false); // 第三个参数设置为false表示同步请求 xhrSync.send(); console.log(xhrSync.responseText); // 在请求完成后,直接获取响应内容 // 异步请求示例 var xhrAsync = new XMLHttpRequest(); xhrAsync.open('GET', 'https://example.com/api/data', true); // 第三个参数设置为true表示异步请求 xhrAsync.onload = function() { if (xhrAsync.status === 200) { console.log(xhrAsync.responseText); // 在事件处理程序中获取响应内容 } }; xhrAsync.send(); console.log('请求已发送'); // 在请求发送后,继续执行后续的代码 ``` 在上面的示例中,同步请求会阻塞代码的执行,直到服务器返回响应后才会继续执行后续的代码。而异步请求则不会阻塞代码的执行,可以在请求发送后继续执行后续的代码,待服务器返回响应时再触发事件处理程序来处理响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值