浅谈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,系统 ...
随机推荐
- 第三周:Excel分析
Excel常用于敏捷,快速,需要短时间相应的场景下是非常便捷的数据处理工具. 相对于语言类例如python和R等则用于常规的,规律的场景中应用,便于形成日常规则统计分析. 对于学习的路径:Excel函 ...
- 操作系统的三个接口 shell gui api
操作系统的三个接口 shell gui api 编程语言是用来告诉操作系统干什么的语言. 编程语言是人机交互语言. 程序.进程:任务集.
- [源码分析]ArrayList
add public boolean add(E e) { //先确保数组容量 ensureCapacityInternal(size + 1); //直接将值放在size位置 elementData ...
- mysql报错:/usr/sbin/mysqld:unknown variable 'default-character-set=utf8'
修改mysql的字符集时,为了将默认字符集设置为utf-8,便将/etc/my.cnf下[mysqld]加了一行 default-character-set=utf8, 但是在下次启动系统的时候,my ...
- 牛顿法/拟牛顿法/DFP/BFGS/L-BFGS算法
在<统计学习方法>这本书中,附录部分介绍了牛顿法在解决无约束优化问题中的应用和发展,强烈推荐一个优秀博客. https://blog.csdn.net/itplus/article/det ...
- 【VSC】我安装了哪些扩展插件
Nodejs gitk —— 版本实时比对 Debugger for Chrome —— 让 vscode 映射 chrome 的 debug功能,静态页面都可以用 vscode 来打断点调试. ...
- 如何给sublime text.安装插件
1.Sublime的Package Control安装方法 Package Control插件本身是一个为了方便管理插件的插件 第一步:ctrl+~,在弹出的下部边框中输入: 如果是 Sublime ...
- Apache 流框架 Flink,Spark Streaming,Storm对比分析(二)
本文由 网易云发布. 本文内容接上一篇Apache 流框架 Flink,Spark Streaming,Storm对比分析(一) 2.Spark Streaming架构及特性分析 2.1 基本架构 ...
- Scala的静态方法和实例方法
Scala的对象学习 Scala没有静态方法或静态字段,可以使用object这个语法达到相同的目的,对象定义了某个类的单个实例 object Accounts { private var lastNu ...
- 【转】WCF设置拦截器捕捉到request和reply消息
原文:https://www.cnblogs.com/yanglang/p/7063743.html 我们需要拦截消息,并把消息打印出来,那么我们就需要一个拦截器,叫做MessageInspector ...