ajax 异步问题

PhysicianManagement.prototype.listPhysician = function() {
    alert(JSON.stringify(this.physicianList));  // {}
    alert(JSON.stringify(this.physicianRelList)); // {}
};

PhysicianManagement.prototype.initProviderInfo = function() {
    ajaxCallForEventWithJsonData(this,‘fetchProviderInformation‘,null, null, function (that,data) {
        that.physicianList = data;
    });
    ajaxCallForEventWithJsonData(this,‘fetchProviderRel‘,null, null, function (that,data) {
        that.physicianRelList = data;
    });
    ajaxCallForEventWithJsonData(this,‘fetchLoginUserInformation‘,null, null, this.initLoginUserInformation);    //由于异步,这里在数据还未请求结束就已经执行了
    this.listPhysician();

};

解决办法

ajaxCallForEventWithJsonData(this,‘fetchProviderInformation‘,null, null, function (that,data) {
        that.physicianList = data;
        ajaxCallForEventWithJsonData(that,‘fetchProviderRel‘,null, null, function (innerThat,data) {
            innerThat.physicianRelList = data;
            innerThat.listPhysician();
            ajaxCallForEventWithJsonData(innerThat,‘fetchLoginUserInformation‘,null, null, innerThat.initLoginUserInformation);
        });
    });
时间: 2024-11-14 12:27:38

ajax 异步问题的相关文章

Java项目(1)——采用Ajax异步交互技术验证用户代码是否重复

DRP项目中涉及到注册用户的问题.本文讲述的是注册过程中使用Ajax异步交互验证用户名是否已经存在的实现原理.之前很多项目中并未使用Ajax技术,结果是所有的判断都等到点击提交按钮时再执行,这样的结果无非是网站卡/软件死,都说不作死就不会死,所以Ajax被广泛应用,用户竖起拇指称赞,不得不说Ajax俘虏了web用户啊~~ 实现之前先了解下AjaxreadyState的五个状态. 因本人越来越倾向于英文原版,觉得从它的本源探索会更直接更容易理解,所以在下面使用了英文解释,后面是自己的理解. 0:

ajax 异步请求四个步骤

ajax异步请求详解 ajxa定义:异步的JavaScript和xml 1.XMLHttpRequst的出现才有了异步处理 2.创建XmlHttpRequest对象 var request=new XMLHttpRequest(); 注意:如果要兼容IE6以下浏览器则需要编写如下代码 var request; if(window.XMLRequest){ request=new XMLRequestHttpRequest();  //IE7.IE8.360等 }else{ request=new

触碰jQuery:AJAX异步详解

触碰jQuery:AJAX异步详解 传送门:异步编程系列目录…… 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和XHTML来表示. 2)   使用DOM模型来交互和动态显示. 3)   使用XMLHttpRequest来和服务器进行异步通信. 4)   使用javascript来绑定和调用.

[Ajax] 使用Ajax异步上传图片文件(非Form表单提交)

通过表单Form提交来上传文件的方式这里就不说了: 下面介绍,通过js中使用ajax异步上传图片文件: 新建一个html页面和一个一般处理程序即可: 涉及思路: //发送2次Ajax请求完成js异步上传文件的操作:          //第1次,post 只上传文件,返回文件名name          //第2次,get 根据文件名name定位服务器上的文件,同时根据浏览器传过来的realname重命名服务器上的文件          //(如果有其他参数,也可以通过第2次一并上传) 图片文件

ASP.NET MVC中使用ASP.NET AJAX异步访问WebService

使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也没什么大的差别. 在ASP.NET应用程序里使用ASP.NET AJAX访问WebService通常都是通过ScriptMananger引入WebService生成客户端代理的方法,同时也可以使用Microsoft Ajax Library来完成.本文将介绍在ASP.NET MVC中使用ASP.NE

PHP curl 抓取AJAX异步内容

其实抓ajax异步内容的页面和抓普通的页面区别不大.ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可. 利用Firebug的网络工具 如果抓去的是页面,则内容中没有显示的数据,是一堆JS代码. Code $cookie_file=tempnam('./temp','cookie'); $ch = curl_init(); $url1 = "http://www.cdut.edu.cn/defau

jQuery选取所有复选框被选中的值并用Ajax异步提交数据

昨天和朋友做一个后台管理系统项目的时候涉及到复选框批量操作,如果用submit表单提交挺方便的,但是要实现用jQuery结合Ajax异步提交数据就有点麻烦了,因为我之前做过的项目中基本上没用Ajax来批量提交复选框数据,今天用到了就分享一下. 由于我做的项目一些地方比较复杂,这里我只举一个小例子,能理解就好. 首先,我做了一个简单的多个复选框的界面,如图: 这是一个比较简单的多个复选框提交界面.代码如下: 1 <body> 2 <div> 3 <input type=&quo

AJAX异步校验

前台JS代码 /*异步验证用户名的输入格式以及是否存在*/ function CheckUsername(){ /*取到用户名输入框*/ var nametxt = document.getElementById("username"); /*获取输入的用户名值*/ var username = nametxt.value; /*获取到装错误信息的span框*/ var sp = document.getElementById("usernameError"); v

ajax异步上传图片文件并将其转换为base64格式

高级浏览器上面,可以直接使用html5的FileReader,实现获取上传文件的base64格式,并以字符串形式提交.对于IE9以下的浏览器,就得另想他法.下面是高级浏览器的示例代码. $('.image').change(function(e) { var target = $(e.target); var file; if(target[0].files && target[0].files[0] ) { file = target[0].files[0]; } if(file) {

Jquery Ajax 异步设置Table中某列的值

可根据table中某列中的ID去改变某列的值! JS: 1 $(document).ready(function () { 2 setTimeout(GetDate, 1000); 3 4 }); 5 6 function GetDate() { 7 $("#tbData tbody").find("tr").each(function () { 8 var prjectBalanceObj = $(this).find("td:eq(3)");