jquery ajax属性async(同步异步)示例_jquery

例1、jquery+ajax/" target="_blank">jquery ajax同步方式

复制代码 代码如下:

$.ajax({
url : 'test.php',
type : 'post',
async: false,//使用同步的方式,true为异步方式
data : {'act':'addvideo', 'videoname':videoname},//这里使用json对象
success : function(data){
//code here...
},
fail:function(){
//code here...
}
});

例2

复制代码 代码如下:

//javascript
function test()
{
 var a= 1;
 $.ajax({
  type   : 'GET',
  url    : 'test.php',
  data   : 'page=112',
  success:function(msg)
  {
   alert(msg);
   a= msg;
  }
 })
 alert(a);
}
//test.php
sleef('5'); //休息五分钟
echo 'in';
/*
 这个程序运行情况是  先打印1(a=1) 然后五秒过后 打印 in
 根据这个情况就可以知道 jquery 的ajax的执行流程
 因为是异步调用
 以前就是这样给一个变量赋值  不管怎么弄都是不对的。最后就发现这个问题
 参数async改为false就为同步调用 当ajax返回结果后程序才继续执行
*/
 

在这里,async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程)例:
例3

复制代码 代码如下:

$.ajax({ 
          type:"POST",
         url:"Venue.aspx?act=init",
           dataType:"html",
          success:function(result){   //function1()
             f1();
             f2();
        }
         failure:function (result) { 
            alert('Failed'); 
         },
  }
  function2();
 

在上例中,当ajax块发出请求后,他将停留function1(),等待server端的返回,但同时(在这个等待过程中),前台会去执行function2(),也就是说,在这个时候出现两个线程,我们这里暂且说为function1() 和function2()。
当把asyn设为false时,这时ajax的请求时同步的,也就是说,这个时候ajax块发出请求后,他会等待在function1()这个地方,不会去执行function2(),知道function1()部分执行完毕。
注意
同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。
而异步则这个AJAX代码运行中的时候其他代码一样可以运行。
jquery的async:false,这个属性

时间: 2024-10-31 15:49:02

jquery ajax属性async(同步异步)示例_jquery的相关文章

jQuery ajax 当async为false时解决同步操作失败的问题_jquery

jQuery的ajax,当async为false时,同步操作失败.解决方案,jqueryasync                    最近做项目遇到jQuery的ajax,当async为false时,同步操作失败的问题,上网搜索下,得到解决办法,这里就说下如何解决: 引发失败时代码: $.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POST", dataType :

Jquery Ajax学习实例7 Ajax所有过程事件分析示例_jquery

一.Ajax所有过程事件分析    JQuery在执行Ajax的过程中会触发很多事件.   这些事件可以分为两种事件,一种是局部事件(Local),一种是全局事件(Global).   局部事件:可以通过$.ajax来调用,你某一个Ajax请求不希望产生全局的事件,则可以设置global:false.   全局事件:跟click等事件类似,可以绑定到到每一个DOM元素上.   这些事件的按照事件的触发顺序如下介绍:   局部事件(Local) 全局事件(Global) ajaxStart 全局事

Jquery工作常用实例 使用AJAX使网页进行异步更新_jquery

AJAX = Asynchronous JavaScript and XML.,是一种创建快速动态网页的技术. AJAX 通过在后台与服务器交换少量数据的方式,允许网页进行异步更新.这意味着有可能在不重载整个页面的情况下,对网页的一部分进行更新. 通过 jQuery AJAX,你可以直接把远程数据载入网页被选HTML元素中. Jquery Ajax常用的函数有三种,分别是: $.post(url,data,callback,type):使用 HTTP POST 来加载远程数据: $.get(ur

jquery ajax 调用失败的原因示例介绍_jquery

下面是一个完事的函数: 复制代码 代码如下: function ReLoadPromotion() { var A = parseFloat($("#pNormalTotal").html()) + parseFloat($("#pBarginTotal").html()); jQuery.ajax( { url: "/ajax/OrderRedemption.aspx?vf=getlist", type: "POST", d

Jquery Ajax Error 调试错误的技巧_jquery

JQuery使我们在开发Ajax应用程序的时候提高了效率,减少了许多兼容性问题,我们在Ajax项目中,遇到ajax异步获取数据出错怎么办,我们可以通过捕捉error事件来获取出错的信息. 在没给大家介绍正文之前先给分享Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 &quo

jquery ajax分页插件的简单实现_jquery

说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构: 1.首先定义一个pager对象: var sjPager = window.sjPager = { opts: { //默认属性 pageSize: 10, preText: "pre", nextText: "next", firstText: "First", lastText: "Last", shiftingLeft: 3, shiftingRig

jQuery子属性过滤选择器用法分析_jquery

本文实例讲述了jQuery子属性过滤选择器用法.分享给大家供大家参考.具体分析如下: 1. :first-child选择器 用于选择其父级的第一个子元素的所有元素,格式: 复制代码 代码如下: $("selector:first-child") 如: 复制代码 代码如下: $("ul:first-child").css("text-decoration", "underline").css("color",

jQuery AJAX timeout 超时问题详解_jquery

先给大家分析下超时原因: 1.网络不通畅. 2.后台运行比较慢(服务器第一次运行时,容易出现) 超时结果:JQ中 timeout设置请求超时时间. 如果服务器响应时间超过了 设置的时间,则进入 ERROR (错误处理) 超时解决方案: 1.默认的timeout为0,代表永不超时 2.尽量把timeout设置的大一点.坏处:使数据的加载变慢(貌似.呵呵). 3.在ERROR回调函数中写 有关于 超时 处理 的函数:例如,可以在超时的情况下再次调用取数据函数. -------------------

jQuery操作属性和样式详解_jquery

• 区分 DOM 属性和元素属性 <img src="images/image.1.jpg" id="hibiscus" alt="Hibiscus" class="classA" /> 通常开发人员习惯将id,src,alt等叫做这个元素的"属性".我们将其称为"元素属性".但是在解析成 DOM 对象时,实际浏览器最后会将标签元素解析成"DOM 对象",