ajax中async_小猿圈web前端之ajax的同步和异步有怎样的区别?

对于ajax我们应该知道ajax是主要用来在前端页面中向服务器后端请求数据,ajax中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式,那么,ajax的同步和异步请求两种方式有什么区别呢?小猿圈web前端讲师给大家详细分析一下ajax同步与异步执行的区别。

643b9fe5b59888a1a53ce8330b87d54a.png

首先看一下同步请求:

$.ajax({

type:'post',

 url:"<c:url value='/device/org/' />"+val,

 data:{'orgId':val},

 success:function(data){//function(1)

 name=data.orgName;

 },

 dataType:"json",

 async:false

});

function(2);

当执行当前AJAX的时候会停止执行后面的JS代码,直到AJAX执行完毕后时,才能继续执行后面的JS代码。

当把async设为false时,这时ajax的请求时同步的,也就是说,这个时候ajax块发出请求后,他会等待在function1()这个地方,不会去执行function2(),直到function1()部分执行完毕。

异步请求:

$.ajax({

type:"POST",

url:"Venue.aspx?act=init",

dataType:"html",

success:function(result){ //function1()

f1();

f2();

}

failure:function (result) {

alert('Failed');

},

}

function2();

当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程)

也就是说,当ajax块发出请求后,他将停留function1(),等待server端的返回,但同时(在这个等待过程中),前台会去执行function2()。

通俗点儿的意思,可以这么理解同步处理:我吃完后再看手机,看玩手机后,再睡觉,必须等待上一件事情干完之后,下一件事才能继续执行,单线程;异步处理:不必等待一个程序执行完毕,可以执行其他任务,我可以边吃饭,边看手机,是一种并行的方式。

ajax同步和异步这样理解会变简单很多,web前端讲师在小猿圈上总结出的经验,小编最近在学习前端,感觉小猿圈还不错,大家想学习也可以去看看,一起学习,一起进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[恢]hdu 2012

2011-12-12 05:27:32 地址&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid2012 题意&#xff1a;中文题。 mark&#xff1a;wa了一次&#xff0c;超2的。自己以为聪明地写了一个预处理&#xff0c;结果忘记把表达式写进去了&#xff0c;IsPrme的参数直接写了个i&#…

m_pMainWnd = dlg错误解决方法

这两天在写MFC程序的时候经常碰到这种情况&#xff0c;开始真的很让我速手无策呀。在网上的我看到有两种可以解决这种问题的方法&#xff1a;一是&#xff0c;直接把这句话注释掉&#xff0c;然后你再运行也就可以通过了。还有一种就是&#xff0c;你重新‘全部重建‘&#xff…

mysql存储引擎的区别_Mysql的两种存储引擎以及区别

一、Mysql的两种存储引擎1、MyISAM&#xff1a;①不支持事务&#xff0c;但是整个操作是原子性的(事务具备四种特性&#xff1a;原子性、一致性、隔离性、持久性)②不支持外键&#xff0c;支持表锁&#xff0c;每次所住的是整张表MyISAM的表锁有读锁和写锁(两个锁都是表级别)&a…

带给你灵感的3D街画艺术设计

3D街头艺术画已在16世纪以来意大利文艺复兴时期的Madonnari画家创造了令人惊叹的壁画来装饰豪华别墅的内墙。3D艺术也可以跟踪它的航线&#xff0c;。这里有一些新的图像&#xff0c;这将使你想知道它是如何可能的使东西是如此逼真&#xff0c;3D设计们不要错过 1。 &#xff0…

[vc]如何对radio按钮分组

如何使用多组&#xff1f;多组和一组是一样的使用&#xff0c;只要搞清楚哪个是哪一组的就行了。再为对话框添加Radio3和Radio4。很简单&#xff0c;先为这些RadioButton排个顺序&#xff0c;就是排列他们的TABORDER。在对话框资源面板上CtrlD&#xff0c;然后按你自己的理想顺…

[原]2011年度生活三层总结

一年了。 想到自己从开始没有目标&#xff0c;误打误撞的来到了提高班到现在的成长。我是多么的幸运&#xff0c;幸运的来到廊坊师范&#xff08;现在都要称之为母校了&#xff09;&#xff0c;幸运的来到了提高班&#xff0c;遇到了米老师&#xff0c;在此感谢。 一年了。改变…

jdbc存储过程mysql_JDBC对MySQL数据库存储过程的调用

1、什么是存储过程存储过程(英文&#xff1a;Stored Procedure)是在大型数据库系统中&#xff0c;为了完成特定功能而编写的一组的SQL语句集。存储过程经编译存储在数据库中&#xff0c;用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。2、与一般SQL语…

vi快捷键

u 撤销你刚才做的动作 ctrlr 恢复你刚才撤销的动作 复制粘贴 1. 将光标移动到将要复制的行处&#xff0c;按yy进行复制当前行&#xff08;按nyy复制n行&#xff09;&#xff0c;再移动到粘贴位置&#xff0c;按p进行粘贴。 2. 将光标移到复制的…

【转】:andriod 开发环境工具下载地址(2)

http://www.cnblogs.com/oudi/archive/2011/06/30/2094674.htmlandriod 开发环境工具下载地址注意内容1. jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html2.eclipse:http://www.eclipse.org/downloads/ 3.andrioid sdk 下载地址:http://developer.and…

hp laser103 属性没有配置项_哦?在hp打印机面板上就可以更改打印机ip地址

修改打印机IP的方法有很多但都没有直接从打印机控制面板上修改方便过瘾虽然有些机器不支持但是惠普大部分机器还是可以的今天我们就以 LaserJet M227 系列打印机为例hp官方为大家介绍一下具体的设置方法步骤一&#xff1a;打印配置报告查看有效IP地址如果机器是2行控制面板 1.在…

vb连接odbc连接mysql数据库_vb6通过ODBC连接mysql数据库

在尝试连接数据库之前, 需要简单说明一下连接数据库的两种最常见的方式: 一种是通过建立 DSN 来连接, 这种比较麻烦, 程序移植性差; 我一般采取利用 ADODB 连接数据库的方式, 这种比较灵活方便, 不需额外工作, 方便程序移植.下面的例子就是通过 ADODB 连接 MySQL 数据库:首先, …

ABS_MT_TOUCH_MAJOR和ABS_MT_WIDTH_MAJOR

通常的多点触摸周期可以描述为&#xff1a;ABS_MT_*|SYN_MT_REPORT|ABS_MT_*|SYN_MT_REPORT|SYN_REPORT有些ABS_MT事件是必须实现的&#xff0c;如ABS_MT_POSITION_X和ABS_MT_POSITION_Y.而某些事件&#xff0c;如ABS_MT_TOUCH_MAJOR和ABS_MT_WIDTH_MAJOR是否需要实现则取决于具…

Java 笔记

1 词语 JRE —— Java运行时环境&#xff08;Java Runtime Environment&#xff09; JVM —— Java虚拟机 JDT —— Java的开发环境&#xff0c;可以方便的对代码进行开发及调试功能 SDK —— 软件开发工具包&#xff08;Software Development Kit&#xff09; IDE —— 集成开…

Windows修改注册表按键映射

Scancode Map 注册表项来实现键盘按键映射。 位于注册表的&#xff1a; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\ 下新建一个二进制值项&#xff1a; "Scancode Map" 这个项目可实现对键盘按键的映射。这里映射的意思可理解为“替换”…

python去掉最高分和最低分_去掉一个最高分,去掉一个最低分求平均值(trimmean)...

如下图&#xff1a;演讲比赛&#xff0c;要求去掉一个最高分&#xff0c;去掉一个对低分后求平均值。当然这个太简单了&#xff0c;我们可以用max求出最大值&#xff0c;用min求出最小值&#xff0c;然后sum求出数据总和&#xff0c;用(总和-最大值-最小值)/(数据总个数-2)。思…

Android的.apk软件安装到sd卡的方法

对于Android 2.2开始的软件可以装到到SD上的支持&#xff0c;对于adb命令而言也有了改进&#xff0c;对于Android 2.2固件中的pm命令开支持安装选项参数&#xff0c;这里新增了参数setInstallLocation&#xff0c;这里我们可以用adb通过shell命令执行linux的pm添加一些参数即可…

[Oracle整理]CASE-END

说明&#xff1a;本内容是工作用到的知识点整理&#xff0c;来自工作中和网络。 代码于Oracle9上测试。 作用: 1可用来进行数据资料行转列的功能 2可用来对数据进行判断&#xff0c;类似decode&#xff0c;但CASE语句在处理范围条件的时候会显得非常灵活。如果只是需要匹配少量…

mysql声明declare_mysql8 参考手册--DECLARE ... CONDITION声明

DECLARE condition_name CONDITION FOR condition_valuecondition_value: {mysql_error_code| SQLSTATE [VALUE] sqlstate_value}该DECLARE ... CONDITION语句声明一个命名错误条件&#xff0c;将名称与需要特定处理的条件相关联。可以在后续DECLARE ... HANDLER语句中引用该名…

libevent源码深度剖析一

libevent源码深度剖析一 ——序幕 张亮 1 前言 Libevent是一个轻量级的开源高性能网络库&#xff0c;使用者众多&#xff0c;研究者更甚&#xff0c;相关文章也不少。写这一系列文章的用意在于&#xff0c;一则分享心得&#xff1b;二则对libevent代码和设计思想做系统的、更…

python什么是空类型_在Python中创建真正的空类型

创建您自己的自定义容器怎么样&#xff1f;在class Empty(object):def __init__(self, **kwargs):object.__setattr__(self, _obj, kwargs)def __getattribute__(self, name):obj object.__getattribute__(self, _obj)try:return obj[name]except KeyError:cls_name object._…