浅谈ajax同步、异步的问题
最近实习的时候看到过firefox的同步、异步的警告,想着概念不是那么清楚,于是整理了一下ajax同步异步方面的知识。我是小白,做个笔记。
首先就是概念问题,ajax根据async进行区分同步和异步过程,当async=true异步,async=false为同步,ajax默认async为异步。W3C推荐使用异步方法。
那么这两种情况分别在那种情况下使用呢?我自己的理解是这样的:
异步:ajax不会影响整个页面的加载,相当于和浏览器加载或者用户操作分开走,互不相干,体现在用户角度就是不会有什么卡顿的感觉仿佛无事发生。
同步:那就与异步相反,他和加载处于同一条线上,等这位大爷过了马路,后面的人才能接着走,就是在加载它的时候,全部的过程都等停下来,也就是假死状态。
也就是说在实际应用中,异步是比同步用的多很多,那么同步用到的情况是什么呢? 在我的理解上来说,同步是能避免很多意想不到的情况的,也就是解决那些想不通的错误。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
来看一个典型的同步代码
console.log(1);
$.ajax({
url: '',
dataType:"json",
async: false,
success: function() {
console.log(2);
}
});
console.log(3);//输出1 2 3
同步就是下了死命令要按顺序来,就是上面那样的输出顺序,当然这只是在json格式下的,换成jsonp它就会输出1 3 2了,具体是因为jsonp自身只有异步的模式。
异步就不一样了,它有可能发生跳跃的情况,也就是说在发送ajax的之后,服务器会有一个响应的时间,然而就是这段时间内如果异步请求交给一个js函数去处理,一个有可能发生的情况就是:“人未至,声先到”,也就是异步请求没到达,已经结束了js函数了。这时候就会发生很多难以考虑到的问题,明明ajax传输正常,值却是错误的。
这些都是我自己的理解,水平有限可能有说的不对的地方。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
浅谈ajax同步、异步的问题的更多相关文章
- jquery ajax 同步异步的执行
jquery ajax 同步异步的执行 大家先看一段简单的jquery ajax 返回值的js 代码 function getReturnAjax{ $.ajax({ type:" ...
- 浅谈Ajax 异步的几点细节
1.浏览器执行到Ajax代码的这行语句的时候,发出了一个HTTP请求,欲想请求服务器上的数据.服务器此时开始I/O,所谓的I/O就是磁盘的读写,需要花费一些时间,所以不会立即产生下行的HTTP报文: ...
- 浅谈AJAX的基本原理和原生AJAX的基础用法
一.什么是AJAX? AJAX,即"Asynchronous Javascript And XML",翻译为异步的JavaScript和XML,是一种创建交互式网页应用的网页开发技 ...
- 浅谈AJAX基本实现流程
1.js中ajax实现流程: (1) 创建XMLHttpRequest对象,也就是创建一个异步调用对象. (2) 创建一个新的HTTP请求,并指定该HTTP请求的方法.URL及验证信息. (3) 设置 ...
- Ajax同步异步的区别
1,什么是Ajax Ajax: asynchronous javascript and xml (异步javascript和xml) 其是可以与服务器进行(异步/同步)交互的技术之一. Aja ...
- 浅谈ajax
Ajax 回顾 最本质的 ajax 其实是这样的: function Ajax(){ var xmlHttpReq = null; if (window.ActiveXObject){//IE5 IE ...
- 浅谈ajax的优点与缺点
AJAX (Asynchronous Javascript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验. 完全的AJAX应用给人以桌面应用的感觉.正如其他任何技术,A ...
- 浅谈利用同步机制解决Java中的线程安全问题
我们知道大多数程序都不会是单线程程序,单线程程序的功能非常有限,我们假设一下所有的程序都是单线程程序,那么会带来怎样的结果呢?假如淘宝是单线程程序,一直都只能一个一个用户去访问,你要在网上买东西还得等 ...
- 浅谈MySQL同步到ElasticSearch的几种方式及其优缺点
同步双写 优点:业务逻辑简单. 缺点: 硬编码,有需要写入mysql的地方都需要添加写入ES的代码: 业务强耦合: 存在双写失败丢数据风险: 性能较差:本来mysql的性能不是很高,再加一个ES,系统 ...
随机推荐
- 到底该用img还是background-image?
在前端页面的实现过程中,我们经常会遇到这个情况:有一个盒子,盒子里面需要放一张图片.这个时候,我们既可以通过添加image标签来实现,也可以通过设置背景图的形式实现,哪种更好呢? 一般情况下,可能就是 ...
- 4-5 R语言函数 split
#split根据因子或因子列表将 向量或其他对象分组 #通常与lapply一起使用 #split(参数):split(向量/列表/数据框,因子/因子列表) > x <- c(rnorm(5 ...
- 如何动态调用 C 函数
JSPatch 支持了动态调用 C 函数,无需在编译前桥接每个要调用的 C 函数,只需要在 JS 里调用前声明下这个函数,就可以直接调用: require('JPEngine').addExtensi ...
- Spring-IOC bean 创建过程中的 ObjectFactory
AbstractBeanFactory中doGetBean方法里有一段拿到RootBeanDefinition后,实例化该bean的方法 // Create bean instance. if (mb ...
- Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译
下载Hadoop源码 1.登录官网 2.确定你要安装的软件的版本 一个选取原则: 不新不旧的稳定版本 几个标准: 1)一般来说,刚刚发布的大版本都是有很多问题 2)应该选择某个大版本中的最后一个小版本 ...
- Day3JavaScript(一)JavaScript初识以及bom操作
JavaScript简介 什么是JavaScript 弱类型,动态类型,基于原型的直译性的编程语言.1995年netscape(网景)在导航者浏览器中设计完成. JavaScript的特点 1.与HT ...
- vmvare安装系统提示vmci.sys 版本不正确解决方法
无法获取vmci驱动程序版本:参数不正确解决 无法获取vmci驱动程序版本:参数不正确. 驱动程序vmci.sys版本不正确. 解决办法: 1,创建好虚拟机之后,别打开电源,然后到建好的虚拟机文件夹里 ...
- C语言数组截取常见问题
这是一段数组截取的代码,函数功能是检查后面的'*'的数量,若多于指定输入数,则把多余的'*'删除 void fun( char *a,int n ) { char *p = a; while(*p) ...
- go Context的使用
控制并发有两种经典的方式,一种是WaitGroup,另外一种就是Context WaitGroup的使用 WaitGroup可以用来控制多个goroutine同时完成 func main() { va ...
- react中手动重置redux
前段时间使用redux在react-native中,安卓后退两次关闭后redux未清空的问题,一直觉得处理的不够优雅,没有根本解决问题. 后来发现再退出登录后,也有部分数据因为redux的逻辑处理数据 ...