`
wangxingguang
  • 浏览: 29006 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

jquery的ajax同步和异步

阅读更多
 

jquery的ajax同步和异步

 之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题。最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 
而异步则这个AJAX代码运行中的时候其他代码一样可以运行。 
jquery的async:false,这个属性 
默认是true:异步,false:同步。

$.ajax({ 

        type: "post", 

       url: "path", 

       cache:false, 

       async:false, 

        dataType: ($.browser.msie) ? "text" : "xml", 

         success: function(xmlobj){ 

        } 

});

有了这个属性可以相对的减少代码运行书序问题,但是如果用的太多,页面假死次数太多。这样反而导致用户体验不佳~!

$.Ajax()中 async 和success的官方的解释:

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.

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.

 

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

$.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()部分执行完毕。

 

原文地址:http://blog.csdn.net/luo_yifan/article/details/7280234

分享到:
评论

相关推荐

    jquery的ajax同步和异步的理解及示例

    最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 而异步则这个AJAX代码...

    Jquery 封装下的ajax异步加载

    **jQuery AJAX 异步加载详解** 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许页面在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。jQuery 是一个广泛...

    jquery ajax 同步异步的执行 return值不能取得的解决方案

    在Web开发中,使用AJAX与服务器进行异步通信是常见的需求,jQuery为此提供了便捷的$.ajax()方法。但开发者们可能会遇到一个问题:在$.ajax()方法中,尽管我们试图通过return语句返回一些值,却常常发现这些返回值...

    jquery ajax同步异步的执行最终解决方案

    标题中的知识点包括“jquery ajax 同步异步执行”的解决方案,即通过设置`async`属性的不同值来控制AJAX请求是同步执行还是异步执行。描述部分讲述了同步执行的一个关键点,即在AJAX请求完成前,程序会等待,不会...

    Java通过jQuery实现ajax异步请求

    综上所述,"Java通过jQuery实现ajax异步请求"的示例工程涵盖了客户端与服务器端的交互流程,包括使用jQuery发起AJAX请求、Java后端处理请求并返回数据,以及数据格式的转换和错误处理。了解并掌握这些知识点,对于...

    关于解决jquery同步异步的问题

    ### 关于解决jQuery同步异步的问题 在前端开发过程中,我们经常会使用到jQuery库来进行DOM操作及Ajax请求等。而在处理Ajax请求时,默认情况下jQuery的`$.ajax()`方法是采用异步的方式执行的,这对于大部分场景来说...

    jQuery中的ajax async同步和异步详解

    在学习jQuery的ajax使用中,我们经常会遇到同步(synchronous)和异步(asynchronous)的概念,这两个术语是异步JavaScript和XML(Ajax)编程的核心。在本文中,我们将详细讲解在jQuery的ajax方法中如何使用async参数控制...

    传智播客 jQuery ajax 课件

    在当今的Web开发中,jQuery AJAX(异步JavaScript和XML)技术扮演着至关重要的角色。它允许开发者在不刷新整个页面的情况下与服务器进行数据交换,提高了用户体验,使得网页交互更加流畅。本篇文章将深入解析jQuery...

    jquery ajax源代码

    ### jQuery AJAX 源代码分析 #### 一、概述 jQuery 是一款优秀的 JavaScript 库,它简化了 HTML 文档遍历、...通过深入理解 jQuery AJAX 的工作原理和使用方法,可以更加高效地开发出具有异步交互功能的应用程序。

    Jquery Ajax 前后台数据传输

    默认情况下,所有jQuery的AJAX操作都是异步的,但可以设置`async: false`使请求变为同步。然而,同步请求会阻塞浏览器,通常不推荐使用。 6. **数据格式和序列化** jQuery支持多种数据格式(如JSON、XML、HTML等...

    Jquery Ajax简易计算器

    本项目“jQuery AJAX简易计算器”旨在展示如何利用jQuery库与服务器端进行异步数据交换,实现实时计算功能,无需页面刷新。 **jQuery与AJAX** jQuery是一个轻量级的JavaScript库,它简化了JavaScript的DOM操作、...

    jquery中的ajax同步和异步详解

    最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 而异步则这个AJAX代码...

    jquery封装下的ajax同步加载代码实例

    以下是对"jquery封装下的ajax同步加载代码实例"的详细解释: 首先,jQuery的$.ajax()函数是进行AJAX请求的核心方法。这个函数接受一个包含多个选项的对象作为参数,用于定制请求的各个方面。在这个实例中,我们将...

    Jquery ajax 同步阻塞引起的UI线程阻塞问题

    Jquery ajax同步阻塞问题详解 在使用Jquery进行异步数据交互时,常常会遇到ajax请求引起的问题。尤其是在同步模式下,一个请求可能会阻塞浏览器的UI线程,从而造成用户体验的严重下降。本文将详细讨论Jquery ajax...

    jquery ajax demo

    在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM操作、事件处理和Ajax交互等任务。`jQuery AJAX`是jQuery库中的一个核心功能,它极大地简化了原生JavaScript的异步数据通信过程。本教程将深入探讨...

    jQuery_ajax异步请求

    本文将基于给定的代码示例,深入探讨jQuery的`$.ajax()`方法及其应用场景,帮助读者理解如何利用jQuery执行异步请求,以及处理响应数据。 ### 一、jQuery的$.ajax()方法详解 `$.ajax()`是jQuery库提供的一个强大且...

    JQueryAjax的简介

    ### JQuery Ajax 的详细介绍 #### 一、Ajax 概述 ...总之,jQuery 提供了一系列强大且易用的方法来处理 Ajax 请求,使得 Web 开发人员能够轻松地实现异步数据交互,极大地提升了现代 Web 应用的性能和用户体验。

    jquery ajax 同步异步的执行示例代码

    在分析和使用jQuery进行AJAX调用时,常常会遇到同步和异步执行方式的选择。在同步AJAX请求中,浏览器会停止执行后续代码,直到AJAX请求完成后才会继续。而异步AJAX请求允许浏览器同时执行其他任务,不会阻塞后续代码...

    尚筹网-加餐-Ajax的同步和异步请求1

    本文将深入探讨Ajax的同步和异步请求,以及它们的工作原理。 ### 1. 异步工作方式 **1.1 图解** 在异步模式下,Ajax请求发送后,浏览器不会等待服务器的响应,而是继续执行后续的代码。当服务器返回响应时,会调用...

    ajax中的async属性值之同步和异步及同步和异步区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现假死...

Global site tag (gtag.js) - Google Analytics