浅谈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,系统 ...
随机推荐
- sql server 使用链接服务器连接Oracle,openquery查询数据
对接问题描述:不知道正式库oracle数据库账户密码,对方愿意在对方的客户端上输入账号和密码,但不告诉我们 解决方案:使用一台sql server作为中间服务器,可以通过转存数据到sql serv ...
- Ubuntu中文目录文件夹改为英文
打开终端,在终端中输入命令: export LANG=en_US xdg-user-dirs-gtk-update 在弹出的窗口中询问是否将目录转化为英文路径,同意并关闭. 在终端中输入命令: exp ...
- swift内存管理:值类型与引用类型
Use struct to create a structure. Structures support many of the same behaviors as classes, includin ...
- jenkins 调用 k8s api
delete_old_images() { #删除以前的镜像,节省本地空间 if docker images | grep $javaname ; then docker rmi -f `docker ...
- Python中乘法
1.numpy乘法运算中"*"或multiply(),是数组元素逐个计算,具体代码如下: import numpy as np # 2-D array: 2 x 3 two_dim ...
- oracle ORA-01722:无效数字 记录
今天在对12万条记录的表进行左联接时,有时可以查询出数据,有时会报无效数字,反复检查,发现问题. 例如sql: SELECT * FROM USER U LEFT JOIN USER_ROLE UR ...
- MFC程序消息处理的顺序
MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函 ...
- ZOJ 3872 浙江2015年省赛试题
D - Beauty of Array Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu S ...
- nagios-4.0.8 安装部署
1.Nagios工作原理 Nagios周期性调用插件检测服务器状态,并维持一个队列,所有插件返回状态信息都进入队列,Nagios每次从队首开始读取信息,并把状态通过web显示. 安装完成后,在nagi ...
- jQuery----奇偶选择器和索引选择器
奇偶选择器: $( " #uu>li:odd").css( " backgroundColor "," red " ); 获取id为u ...