ajax json 异步请求

function ajaxTest(){
  if (true) {
    $.ajaxSettings.async = false;
    var dataJson;
    $.getJSON("/universities", function(data) {
      dataJson = JSON.stringify(data);
      console.log("1>>>>>>>");
    });

    console.log("2>>>>>>>");
  }
  console.log("3>>>>>>>");

  var sum = 1+2;
  console.log("4>>>>>>>" + sum);
}
不加红色部分执行顺序是2,3,4,1
加零红色部分执行顺序是1,2,3,4

1、预约成功病人于就诊日携带患者本人身份证和预约时所提供的社保卡(医保病人)或医联卡(自费病人)及收到的预约回复短信按时至挂号收费窗口挂号。首次来长海医院就诊患者须至门诊一楼大厅0-3号窗口登记个人信息并办理挂号手续。产科需以自费方式预约挂号。

2、预约成功后,因故不能按时就诊者,请提前通过网站或拨打95169办理退号手续。预约挂号爽约2次者,在180天内暂停预约长海医院挂号资格,但不影响在医院现场挂号。

$.getJSON异步请求和同步请求

先看一段代码:
复制代码
for(var j=0;j<24;j++){
     (jQuery).getJSON(‘log_analyze.php‘,{r:Math.random(),logid:logid,op:2,j:j},function(data){
          if(data.success_agent){
              var width=j*10;
               $("#up_time_loading").empty().append("<div style=\"width:"+width+"px;height:10px;border:1px solid #333;background-color:#333\"></div>");
              }
                   })
               }
复制代码
这段代码的意思是:请求log_analyze.php,每次请求成功后就把J加1,然后再去请求。
打开firebug,可以看到这24条数据是异步执行,所以我log_analyze.php获取到得数据很混乱,没有规律,怎么解决呢?
在执行之前加$.ajaxSettings.async = false;    (同步执行)
复制代码
$.ajaxSettings.async = false;
 for(var j=0;j<24;j++){
     (jQuery).getJSON(‘log_analyze.php‘,{r:Math.random(),logid:logid,op:2,j:j},function(data){
          if(data.success_agent){
              var width=j*10;
               $("#up_time_loading").empty().append("<div style=\"width:"+width+"px;height:10px;border:1px solid #333;background-color:#333\"></div>");
              }
                   })
               }
复制代码
在for循环之前加一个$.ajaxSettings.async = false;    表示同步执行,这样他就会安装顺序执行了。
下面的是从网上摘过来的:
同时执行多个$.getJSON() 数据混乱的问题的解决
在执行之前加$.ajaxSettings.async = false;    (同步执行)
执行你的代码之后及时恢复为$.ajaxSettings.async = true; (异步执行)
不然影响别的地方的需要异步执行的代码。
example:
$.ajaxSettings.async = false;
$.getJSON(url, data, function(data){ });
$.getJSON(url, data, function(data){ });
$.getJSON(url, data, function(data){ });
......
$.ajaxSettings.async = true;
时间: 2024-10-12 04:51:12

ajax json 异步请求的相关文章

AJAX的来龙去脉(由来)-如果被封装出来的--ajax发送异步请求(四步操作)

<黑马程序员_超全面的JavaWeb视频教程vedio\JavaWeb视频教程_day23_ajax> \JavaWeb视频教程_day23_ajax\day23ajax_avi\14.打包ajax生成小工具.avi;  有介绍: 个人理解:就是封装了 XMLHttpRequest 的请求方法:演变而成我们常用的 ajax: =====原始的请求方式: ajax发送异步请求(四步操作) 1. 第一步(得到XMLHttpRequest) * ajax其实只需要学习一个对象:XMLHttpRequ

ajax的异步请求小结

如何判断是使用json还是jsp的数据传输: json字符串可以使用js,jquery,ajax,java这几种技术,页面为jsp页面,json数据为java后台传递来. 1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行 3.GET请求,将参数直接写在访问路径上.操作简单,不过容易被外界看到,安全性不高,地址最

使用Ajax发送异步请求的步骤

1.获取Ajax对象:获取XMLHttpRequest对象实例 function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest();//非IE浏览器 }else{ xhr = new ActiveXObject('Microsoft.XMLHttp');//IE浏览器 } return xhr; } 2.设置回调函数:为Ajax对象的readystatechange事件设定响应函数 xh

Ajax同步异步请求

一.什么是同步请求:(false)       同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能接着办.也就是说,当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于一个假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面解除假死状态. 二.什么是异步请求:(true)       异步请求就当发出请求的同时,浏览器可以继续做任何事,Ajax发送请求并不会影响页面的加

ajax发送异步请求

一:得到XMLHttpRequest对象 ajax其实只需要学习XMLHttpRequest一个对象 大多数浏览器都支持: var xmlHttp = new XMLHttprequest(); IE 6.0: var mltHttp = new ActiveXObject("Msxml2.XMLHTTP"); IE 5.5 及更早的IE var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); * 编写创建XMLH

AJax的异步请求

AJax的处理过程 1?传统的Web请求过程: 一般的 Web 应用程序中,用户填写表单字段并单击 Submit 按钮.然后整个表单发送到服务器,服务器将它转发给处理表单的脚本(通常是 PHP 或 Java,也可能是 CGI 进程或者类似的东西),脚本执行完成后再发送回全新的页面.该页面可能是带有已经填充某些数据的新表单的 HTML,也可能是确认页面,或者是具有根据原来表单中输入数据选择的某些选项的页面.当然,在服务器上的脚本或程序处理和返回新表单时用户必须等待.屏幕变成一片空白,等到服务器返回

ajax实现异步请求,不跳转页面的情况下,达到检验用户名等信息是否效果的功能!

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">我们在用户注册页面时常常要考虑到登录名

ajax实现异步请求的过程

var xhr;        xhr = new XMLHttpRequest(); //创建一个异步对象        xhr.open("Get", "test.ashx", true);   //Get方式括号中的三个参数分别为:1.发送请求的方式 2.样请求的页面 3.是否异步 //xhr.open("post","test.ashx",true); //xhr.setRequestHeader("Cont

Ajax发送异步请求(四步操作)

1.第一步(得到XMLHttpRequest) *ajax其实只需要学习一个对象:XMLHttpRequest,如果掌握了它,就掌握了ajax!! *得到XMLHttpRequest >大多数浏览器都支持:var xmlHttp = new XMLHttpRequest(); >IE6.0: var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); >IE5.5以及更早版本:var xmlHttp = new ActiveX