zoukankan      html  css  js  c++  java
  • Ajax请求中的异步与同步,需要注意的地方。

    之前做项目时候,用到一个表格控件,它的数据是异步加载的,我在这个表格绑定数据的函数下面友做了一些业务处理,运行页面的时候,用浏览器在我写业务处理那地方打上断点跟踪,它确实执行了,可以最后显示的时候,它的处理被覆盖了,我很纳闷,当时也知道是这个表格绑定函数那出问题了,可是时间紧,它的函数是封装的,没有去具体跟踪,就直接让我的那部分业务处理延迟200ms执行,这样就好了,这是个笨法,不过也是个有效的办法,呵呵。

    后来看了下文档,查了些资料,其实原理应该是这样的:

    默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 

    View Code
     1 var temp; 
     2 $.ajax({ 
     3     async: false, 
     4     type : "POST", 
     5     url : defaultPostData.url, 
     6     dataType : 'json', 
     7     success : function(data) { 
     8         temp=data; 
     9     } 
    10 }); 
    11 alert(temp); 
    这个ajax请求则为同步请求,在没有返回值之前,alert(temp)是不会执行的。 

    如果async设置为:true,则不会等待ajax请求返回的结果,会直接执行ajax后面的语句。

  • 相关阅读:
    验证码识别思路
    chrome插件 图片搜索(20130602更新版本v2.0)
    CoffeeScript实现BF解释器
    浏览器几种高度宽度
    javascript Event事件
    浮躁的心
    前端页面跨域访问
    firefox浏览器兼容event事件方法
    转:Java Annotation详解
    javascript void(0)问题【转】
  • 原文地址:https://www.cnblogs.com/nyth/p/2445504.html
Copyright © 2011-2022 走看看