整理ajax同步异步请求
Posted 海中的舵手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整理ajax同步异步请求相关的知识,希望对你有一定的参考价值。
在项目中需要实现自定义人员选择器,后台通过逻辑筛选想要的人员Id集合后返回给前台,前台进行接收后,去调用选择器的接口。
如上图,刚开始我的success函数拿到的data,一直显示undefined,遂重命名参数,发现还是不行。开始前台和后台同时debug,发现进入后台逻辑执行后,前台并没有停下等待后台执行返回结果,故定位出是因为ajax同步异步请求导致参数报错。
接下来就大致的说一下ajax 同步与异步的机制实现。
1. 什么是同步请求?(async = false)
同步请求即为前端发出请求后,等待后台给出响应结果,并且在此期间前端处于“假死”状态。当后台返回值后,才会继续执行后续代码。
2. 什么是异步请求?(async = true 或默认不写)
异步请求就当发出请求的同时,浏览器可以继续做任何事,Ajax发送请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。
3. 什么情况下选择同步/异步?
同步是一步一步线性执行代码,即调用后台后必须拿到返回值才能执行下一阶段代码。这个时候就适用于,下一个阶段的代码中所需要的参数是后台的返回值,如果不设为同步的话,那么这个变量则为初始值,影响代码的执行。
异步适用于下一阶段不关联后台返回值,且追求页面给客户的即时反应。
以上是关于整理ajax同步异步请求的主要内容,如果未能解决你的问题,请参考以下文章