分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

ajax的同步和异步问题

发布时间:2023-09-06 02:29责任编辑:胡小海关键词:暂无标签

当一个页面有异步请求又有同步请求,页面是如何执行。例如,页面有3个同步请求,3个异步请求,是先显示什么,再显示什么?

下面代码里面有4个同步,2个异步,后端设置了2秒后返回数据。

window.onload = function(){ajax(‘http://127.0.0.1:8080/getasync‘,‘get‘,false,function(res){console.log(‘我是同步1‘+res)})ajax(‘http://127.0.0.1:8080/getasync‘,‘get‘,false,function(res){console.log(‘我是同步2‘+res)})ajax(‘http://127.0.0.1:8080/getasync‘,‘get‘,false,function(res){console.log(‘我是同步3‘+res)})ajax(‘http://127.0.0.1:8080/getasync‘,‘get‘,false,function(res){console.log(‘我是同步4‘+res)})console.log(‘我是同步后显示‘)ajax(‘http://127.0.0.1:8080/getasync‘,‘get‘,true,function(res){console.log(‘我是异步1‘+res)})ajax(‘http://127.0.0.1:8080/getasync‘,‘get‘,true,function(res){console.log(‘我是异步2‘+res)})console.log(‘我是最后显示‘)}function ajax(url,type,async,callback){var xhr = new XMLHttpRequest()xhr.onreadystatechange = function(){if(xhr.readyState==4 && xhr.status == 200){callback(xhr.responseText)}}xhr.open(type,url,async)xhr.send(null)}

 

页面会先执行同步,再执行

同步:

单线程,相当于排队,当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码。

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

异步:

页面上的操作和服务器端的操作互相之间不会造成阻塞,例如:检查用户名是否重复。

 

ps:第一次写博客

ajax的同步和异步问题

原文地址:https://www.cnblogs.com/sosohui/p/10234840.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved