今天来大概说说AJAX中的同步与异步。其实,就我的理解,同步与异步的区别就是程序执行过程中是否有等待。

同步:意思就是js代码加载到当前的 AJAX时候,会等待AJAX代码执行完毕后再开始加载其他代码;

异步:js代码是指当加载到 AJAX时候,在AJAX代码执行的同时 ,也会执行其他代码。

jquery 的async 属性:默认 情况下 ,为true  :异步,                                         标注为false:表示同步

官方解释:

async
Boolean
Default: true

By
default, all requests are sent asynchronous (e.g. this is set to true
by default). If you need synchronous requests, set this option to false.
Note that synchronous requests may temporarily lock the browser,
disabling any actions while the request is active.

翻译如下:异步处理方式:返回类型为boolean型,

默认情况下所以请求为异步方式处理,返回值是true;如果需要同步的要求,可以返回值设置为false,但是请注意:在同步请求的时候,可能会暂时锁定浏览器,其他任何行为均被禁止,而同步请求行为是活动的。

success
Function

A
function to be called if the request succeeds. The function gets passed
two arguments: The data returned from the server, formatted according
to the 'dataType' parameter, and a string describing the status. This is
an Ajax Event.

翻译如下:当函数请请求返回成功时,将会得到2个参数,1.从服务器端返回的数据。2.根据数据类型参数的格式化和描述状态的字符串,这个被成为 一个ajax事件。

异步:当ajax发送请求后,在等待 server端返回的过程中,前台会继续执行ajax后面的代码,直到server端返回正确的结果,才会执行success,即无等待过程,执行的时候分为2个线程。

看下如下的代码:

$.ajax({

type:"POST",

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

dataType:"html",

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

f1();

f2();

}

failure:function (result) {

alert('Failed');

}

}

function2();

前面我们已经说到,默认情况下async默认为true, 异步处理方式,就是说当ajax发送请求后,将停留在function1(),在等待服务器返回结果,但在等待过程中 ,前台会继续执行function2(),此时就出现了 2个线程。

同步 处理方式:当把async设为false,在ajax发出请求后,会等待function1(),并不会执行function2(),直到function1()的部分执行完毕为止 。

AJAX同步与异步的更多相关文章

  1. AJAX同步改异步

    var temp; $.ajax({ async: false, type : "POST", url : defaultPostData.url, dataType : 'jso ...

  2. 一个ajax同步与异步引发的血案。

    前言 公司做网上促销活动,需要充值换取相应的抽奖资格,抽奖可以获得丰厚的礼品,而且抽奖资格门槛有点高,领导下达命令保证活动的正常上线与运行,领导很重视,就这样,在领导的安排下进行了相关活动的codin ...

  3. ajax同步、异步执行简单理解与证明

    此理解范例代码来自前几篇随笔! 首先我们来先了解下AJAX: Ajax:全称“Asynchronous Javascript and XML”(异步Javascript和XML),他是由Javascr ...

  4. jquery的ajax同步和异步

    之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去 ...

  5. ajax同步,异步

    传输数据 同步:第一条传过去,对方接收到反馈以后,再传第二条; 异步:第一条传过去,不管对方有没有收到,继续传第二条. ajax(默认异步 async:true) 同步:执行完ajax内部代码,才执行 ...

  6. ajax同步与异步 理解

    例如,小明去餐馆排队点餐,前台服务员将小明的菜单告诉厨师进行制作,此时小明后面排队的人就一直等着,直到厨师制作完成,把饭菜送到小明手里后离开,后面的人才能继续点餐:这就是同步处理 但是,如果前台服务员 ...

  7. ajax 同步和异步

    ajax请求中同步是要等待请求结果返回后才能继续执行,而异步请求则不需要等待返回结果,可以直接进行后面语句.

  8. Ajax同步与异步优缺点与使用

    一.什么是同步请求:(false)       同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能 ...

  9. ajax同步和异步

    // 方案2: 回调函数 // function getFile( callback ){ // // 1: 创建ajax对象 XMLHttpRequest // var xhr = new XMLH ...

随机推荐

  1. 五毛的cocos2d-x学习笔记07-计时器、数据读写、文件读写

    调度器: 定时任务是通过调度器实现的.cocos2d-x推荐用调度器而不是其他方法实现定时任务.Node类都知道如何调度和取消调度事件. 有3种调度器: 默认调度器:schedulerUpdate() ...

  2. 使用wininet向FTP服务器发送文件

    .h #pragma once #include <windows.h> #include <tchar.h> #include <string> #include ...

  3. String VS Cstring(字符串)

    #include<string> 与 #include<string.h> 这是两个完全不同的头文件,前者用于C++,后者用于C,一般把这两个头文件都包括进去. 越来越觉得需要 ...

  4. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  5. PowerShell Remove all user defined variable in PowerShell

    When PS scripts executes, it is possibly create much user defined variables. So, sometimes these var ...

  6. linux下挂载第二块硬盘

    1.第一步:添加硬盘/新建分区(fdisk) a.查看当前系统所有硬盘及分区情况:fdisk -lb.在指定的硬盘(例:/dev/sda)上创建分区:fdisk /dev/sda , 根据提示进行下一 ...

  7. access数据库 top语句失效解决方法

    使用查询语句  select   top 1  *  from  News  order  by  [PublicTime] desc   就不一定管用了,如果News表里面的PublicTime字段 ...

  8. 给内置对象或自定义对象添加存取器属性(getter setter)的方法总结

    funct = { get: function() { return this._x }, set: function(value) { this._x = value } } function Ob ...

  9. 阻止系统自动睡眠的小软件,附C#制作过程

    原文 http://www.cnblogs.com/h46incon/p/SleepPreventer.html 因为有时下载东西的时候,不想让电脑自动深入睡眠,所以就开启了离开模式.这样不但不节能环 ...

  10. Win32 GDI基础(笔记)

    1.GDI名字的意义 GDI Graphic Device Interface,我说不清和GUI有什么区别.可能一种针对设备,一种针对用户而言吧,反正以后都说GDI,也就是Windows的图形编程. ...