浅谈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,系统 ...
随机推荐
- CORS跨域与Nginx反向代理跨域优劣对比
最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主 ...
- codeforces 933D A Creative Cutout
题目链接 正解:组合数学. 充满套路与细节的一道题.. 首先我们显然要考虑每个点的贡献(我就不信你能把$f$给筛出来 那么对于一个点$(x,y)$,我们设$L=x^{2}+y^{2}$,那么它的贡献就 ...
- 鲜为人知的 Python 语法
所有人(好吧,不是所有人)都知道 python 是一门用途广泛.易读.而且容易入门的编程语言. 但同时 python 语法也允许我们做一些很奇怪的事情. 使用 lambda 表达式重写多行函数 ...
- virtualbox+vagrant学习-2(command cli)-20-vagrant suspend命令
Suspend 格式: vagrant suspend [options] [name|id] 这个suspend命令将挂起vagrant正在管理的客户机,而不是完全关闭或摧毁它. 挂起有效地保存了计 ...
- mybatis提取<where><if>共用代码
mybatis项目dao层中很多sql语句都会拥有某些相同的查询条件,以<where><if test=""></if></where&g ...
- [原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明
由于所创建的应用项目或类库项目较多,于是将这些类库放到一个文件夹下.在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系.如下图所示: 但打开“我的电脑”,看到的只有类库,并未看到维护层次关 ...
- git乌龟http/https以及ssh clone的秘钥配置永久免密码登录设置
1.安装 安装Git 安装TortoiseGit 乌龟客户端 首先下载安装一个git客户端这个就不多说了基本就是next一直到底 安装后首次新建一个项目project在git服务器上 2.配置 1.注 ...
- Putty等工具中解决SSH连接超时断开的问题
转自:http://www.putty.ws/putty-chaoshi 1 在 linux下的ssh命令:vim /etc/ssh/ssh_config 然后找到里面的ServerAliveInte ...
- bat设置windows计划任务
设置定时任务 @echo off set NAME=dailybackup :: set DAY=MON,TUE,WED,THU,FRI,SAT,SUN set COMMAND=cscript.exe ...
- package.json常用的字段
package.json中5个字段: name: 包名 今后下载时输入名称 (注意:要与下载的包名不一样) version:版本号 x.x.x 例如 1.2.3 1 大版本:当这个包有巨大内容变化时( ...