ajax异步执行回调函数内容
2014-12-17 09:02
387 查看
ajax执行目的:从findUserPageInfo.action方法获取到值并且赋值给全局变量homeU.ldCallInfo,然后再调用homeCallWinFun.addWinFun方法
Ext.define('com.aa.bb.HomeUtil', {
ldCallInfo:"",//全局变量,来电手机号的用户信息拼接串
getUserInfo:function(teleNum){
var me=this;
ajaxRequest({
url:'userAction!findUserPageInfo.action',
params:{mobile:teleNum},
callBack:function(result){
if(result.infoMap.totalProperty>0){
var uinfo = result.infoMap.list[0];
me.ldCallInfo = "来自"
+uinfo.organName+"的"+uinfo.empName;
}else{
me.ldCallInfo = "未知来电!";
}
}
});
},
getUserInfoFun:function(teleNum,callBackFun){
var me=this;
ajaxRequest({
url:'userAction!findUserPageInfo.action',
params:{mobile:teleNum},
callBack:function(result){
if(result.infoMap.totalProperty>0){
var uinfo = result.infoMap.list[0];
me.ldCallInfo = "来自"
+uinfo.organName+"的"+uinfo.empName;
}else{
me.ldCallInfo = "未知来电!";
}
callBackFun();
}
});
}
Ext.define('com.aa.bb.HomeDeviceFun', {
ajax 异步执行(1在ajax的回调你执行addWinFun方法):
ajaxRequest({
url:'userAction!findUserPageInfo.action',
noMask:true,
params:{
mobile:mobile
},
callBack:function(result){
if(result.infoMap.totalProperty>0){
var uinfo = result.infoMap.list[0];
me.homeU.ldCallInfo =uinfo.mobile+"来自"
+uinfo.organName+"的"+uinfo.empName;
}else{
me.homeU.ldCallInfo = teleNum+"未知来电!";
}
console.log("--callInHandle---"+me.homeU.ldCallInfo);
me.homeCallWinFun.addWinFun({
mobile:mobile,
callWay:callType,
empName:mobile,
passivity:true
});
}
});
ajax 异步执行(2在ajax的回调你执行addWinFun方法,即把法1写得好看点):
this.homeU.getUserInfoFun(mobile,function(){
this.homeCallWinFun.addWinFun({
mobile:mobile,
callWay:callType,
empName:mobile,
passivity:true
});
});
ajax 异步执行(3在ajax执行完后赋值给全局变量后再执行addWinFun方法):
this.homeU.getUserInfo(mobile);
this.homeCallWinFun.addWinFun({
mobile:mobile,
callWay:callType,
empName:mobile,
passivity:true
});
ajax同步执行:
在ajax中添加属性async:false.即修改为同步了,什么意思?(一般解释就是,这是等这个ajax有了返回值后才会执行下面的js。一语道破天机,怪不得以前很多ajax调用里面的赋值都不起作用)。这样等ajax给bol赋值完毕后,才执行下面的js部分。而刚刚异步的话,还没有来得及赋值,就已经return了。
ajaxRequest({
url:'userAction!findUserPageInfo.action',
noMask:true,
params:{mobile:this.callData.callTele},
async:false,
callBack:function(result){
。。。。。。。。。。
}
});
Ext.define('com.aa.bb.HomeUtil', {
ldCallInfo:"",//全局变量,来电手机号的用户信息拼接串
getUserInfo:function(teleNum){
var me=this;
ajaxRequest({
url:'userAction!findUserPageInfo.action',
params:{mobile:teleNum},
callBack:function(result){
if(result.infoMap.totalProperty>0){
var uinfo = result.infoMap.list[0];
me.ldCallInfo = "来自"
+uinfo.organName+"的"+uinfo.empName;
}else{
me.ldCallInfo = "未知来电!";
}
}
});
},
getUserInfoFun:function(teleNum,callBackFun){
var me=this;
ajaxRequest({
url:'userAction!findUserPageInfo.action',
params:{mobile:teleNum},
callBack:function(result){
if(result.infoMap.totalProperty>0){
var uinfo = result.infoMap.list[0];
me.ldCallInfo = "来自"
+uinfo.organName+"的"+uinfo.empName;
}else{
me.ldCallInfo = "未知来电!";
}
callBackFun();
}
});
}
Ext.define('com.aa.bb.HomeDeviceFun', {
ajax 异步执行(1在ajax的回调你执行addWinFun方法):
ajaxRequest({
url:'userAction!findUserPageInfo.action',
noMask:true,
params:{
mobile:mobile
},
callBack:function(result){
if(result.infoMap.totalProperty>0){
var uinfo = result.infoMap.list[0];
me.homeU.ldCallInfo =uinfo.mobile+"来自"
+uinfo.organName+"的"+uinfo.empName;
}else{
me.homeU.ldCallInfo = teleNum+"未知来电!";
}
console.log("--callInHandle---"+me.homeU.ldCallInfo);
me.homeCallWinFun.addWinFun({
mobile:mobile,
callWay:callType,
empName:mobile,
passivity:true
});
}
});
ajax 异步执行(2在ajax的回调你执行addWinFun方法,即把法1写得好看点):
this.homeU.getUserInfoFun(mobile,function(){
this.homeCallWinFun.addWinFun({
mobile:mobile,
callWay:callType,
empName:mobile,
passivity:true
});
});
ajax 异步执行(3在ajax执行完后赋值给全局变量后再执行addWinFun方法):
this.homeU.getUserInfo(mobile);
this.homeCallWinFun.addWinFun({
mobile:mobile,
callWay:callType,
empName:mobile,
passivity:true
});
ajax同步执行:
在ajax中添加属性async:false.即修改为同步了,什么意思?(一般解释就是,这是等这个ajax有了返回值后才会执行下面的js。一语道破天机,怪不得以前很多ajax调用里面的赋值都不起作用)。这样等ajax给bol赋值完毕后,才执行下面的js部分。而刚刚异步的话,还没有来得及赋值,就已经return了。
ajaxRequest({
url:'userAction!findUserPageInfo.action',
noMask:true,
params:{mobile:this.callData.callTele},
async:false,
callBack:function(result){
。。。。。。。。。。
}
});
相关文章推荐
- ajax回调函数执行顺序带来的同步异步问题
- 如何按照顺序执行异步ajax的回调函数
- ajax回调函数执行顺序带来的同步异步问题
- Ajax异步的回调函数执行了多遍
- ajax回调函数执行顺序带来的同步异步问题
- ajaxFileUpload()中的success和error中的回调函数不执行的备注
- Ajax 异步获取的js内容成功后,无法在success中执行其js内容?
- js中的for循环与异步回调函数执行顺序问题
- ajax请求返回的数据看不到回调函数没有执行也没报错
- jQuery中ajax方法无法执行回调函数问题
- JavaScript是单线程运行的,但是ajax是如何实现的异步函数回调的?
- 【编程笔记】jquery中的ajax的回调函数不能执行
- js 异步操作,回调函数控制执行顺序
- ajax回调函数动态加载的标签里面js事件不执行
- ajax请求为异步操作时,返回的数据不会被并列函数执行
- ajax请求返回的数据看不到回调函数没有执行也没报错
- Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
- Asp.net Ajax 1.0 异步回调
- js 框中字符数提示 ajax异步请求函数可能出错点
- 解决FCKeditor在ASP.NET AJAX的UpdatePanel控件中按钮回调后内容丢失的问题