`
huangningren
  • 浏览: 43466 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Jquery使用AJAX同步处理数据的方法

阅读更多
一般使用AJAX是异步处理,但是在某些场合就要使用到AJAX的同步来处理数据,比如用JS检测数据时,需要使用AJAX提交获取用户是否在数据库存在,这是需要使用同步处理等待服务器返回的数据才能执行下一步操作,如果使用异步的话,那么程序是不会等待服务器返回数据的,所以就会出错,使用AJAX同步处理就没有问题了。下面本人写的一个非常简单的Jquery中AJAX同步提交数据函数:

 function ExtAjax(pmts) {
        var ajaxval = null;
        var params = "ajax=true&" pmts;    //URL参数
        $.ajax({
            url: 'xueit-Test.aspx',   //接收页面
            type: 'post',      //POST方式发送数据
            async: false,      //ajax同步
            data: params,
            success: function(msg) {
                ajaxval = msg;
            }
        });
        return ajaxval;
    }



异步和同步其实在这里都可以做。异步虽然不能直接得到返回值。但是有一个回调函数可以使用
这样,当异步操作完成后自动触发回调函数。从你给的场景来看,你的回调函数的功能可能就是在某个div里面显示一下,用户名是否可用。

至于什么时候用异步或者同步,可以从这几方面考虑(都用你提供的场景):
1) 严格按照步骤一步一步的来时候,请用同步。
   比如:只有用户名可用,才能输入密码 。。。

2)其他情况,都可以采用异步。

3)当满足2)的时候,但是异步回调却很慢,让用户没法确定,那么建议同步。虽然等待时间长,但是至少可以确定是否可用。
   比如:用户所有的输入都已经完成,但是仍然得不到用户名是否可用的提示。
分享到:
评论

相关推荐

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

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

    Web前端Ajax&JQuery视频教程课件

    本套Java教程涵盖Ajax的实现原理,XMLHttpRequest实现Ajax,回调函数,Ajax数据交换格式(HTML、XML、JSON),Ajax发送GET和POST请求,异步编程模型和同步编程模型,解决Ajax的GET请求缓存问题,使用Ajax验证用户名...

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

    jquery ajax 同步异步的执行 return值不能取得的解决方案,需要的朋友可以参考下。

    ajax+jquery

    * 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 * 异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕 同步是指:发送方发出数据后,等接收方发回...

    jquery插件使用方法大全

    例如,使用了新的jQuery内部Ajax API就可以实现下面的代码了: // Assign handlers immediately after making the request, // and remember the jxhr object for this request var jxhr = $.ajax({ url: "example....

    jquery中的ajax同步和异步详解

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

    原生js jquery ajax请求以及jsonp的调用方法

    XMLHttpRequest,异步访问服务器并发送请求数据,服务器返回响应的数据,以页面无刷新的效果改变页面中的局部内容 同步:任务一个一个的执行,只有前面的任务执行完才会执行下一个任务,如果前面的任务是耗时操作,...

    JQuery中使用Ajax赋值给全局变量异常的解决方法

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成...

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

    项目中有这样一个需求,使用ajax加载数据返回页面并赋值,然后前端取出该值 这其中涉及到代码的顺序问题,有时后台还未返回数据,但已执行后面代码, 所以就会造成取不到值 $.ajax({ type: "post", url: "admin/...

    JQuery中使用Ajax赋值给全局变量失败异常的解决方法

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成...

    详解JavaScript原生封装ajax请求和Jquery中的ajax请求

    Ajax 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),当然也可同步,这样就可使网页从服务器请求少量的信息,而不是整个页面。Ajax使我们的项目更小、更快,更友好,在前端开发有很高的地位,也是面试题...

    jQuery中$.ajax()和$.getJson()同步处理详解

    为什么需要用到同步,因为有时候我们给一个提交按钮注册提交表单数据的时候,在提交动作之前会进行一系列的异步ajax请求操作,但是页面js代码会按顺序从上往下面执行,如果你在这过程中进行了异步操作,那么获取不到...

    jQuery同步提交示例代码

    在一些严格检测或者递归、循环调用的情况下,如果不能同步返回数据则可能会出现错误结果,所以需要使用同步提交技术,jQuery默认是异步操作,需要显式设置异步属性async为false,便可以实现同步。 自定 data 提交 ...

    Jquery Ajax解析XML数据(同步及异步调用)简单实例

    本篇文章主要是对Jquery Ajax解析XML数据(同步及异步调用)的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    超实用的jQuery代码段

    8.16 jQuery AJAX错误的处理方法 8.17 在页面级创建全局的AJAX监听器以及状态指示器 8.18 级联AJAX数据异步加载 8.19 取消AJAX异步请求 第9章 jQuery常用算法 9.1 jQuery遍历算法 9.2 jQuery祖先算法 9.3 jQuery...

    jQuery 1.6 API 中文版

    jQuery.ajax( url, [ settings ] ) 返回: jqXHR 执行一个异步的HTTP(Ajax)的请求。 version added: 1.5jQuery.ajax( url, [ settings ] ) url一个用来包含发送请求的URL字符串。 settings一个以"{键:值}...

    jquery电子文档chm

    jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时...

    jQuery中借助deferred来请求及判断AJAX加载的实例讲解

    为什么不使用同步呢,因为ajax同步加载会UI渲染线程阻塞的问题。通常表现为在加载大量数据时由于加载时间过长导致页面不能点击、gif动画卡死以及浏览器崩溃等问题。所以,一般情况下,尽量使用ajax异步加载。 可是,...

    jquery-1.1.3 效率提高800%

    // the options for this ajax request }global(true) 数据类型: Boolean 是否为当前的请求触发全局AJAX事件处理函数,默认值为true。设置为false可以防止触发像ajaxStart或ajaxStop这样的全局事件处理函数...

Global site tag (gtag.js) - Google Analytics