1. 程式人生 > >ajax非同步執行回撥函式內容

ajax非同步執行回撥函式內容

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){
。。。。。。。。。。
}
}); 

相關推薦

ajax非同步執行函式內容

ajax執行目的:從findUserPageInfo.action方法獲取到值並且賦值給全域性變數homeU.ldCallInfo,然後再呼叫homeCallWinFun.addWinFun方法 Ext.define('com.aa.bb.HomeUtil', {ldCal

QT5學習::(轉)非同步函式轉為同步函式的方法(即阻塞函式,等待非同步函式完成)

在QT中,一般推薦使用非同步函式。除了非同步函式的非阻塞特性外,QT的Signal/Slot特性在非同步函式中可以得到充分的發揮。因此,在QT中,很多API的設計都是使用非阻塞的非同步函式作為API,然後執行結果使用Signal返回。使用者執行API後使用slot函式接收反饋結果。

關於jsonp跨域 不會執行函式的問題

今天在看到ajax的跨域方法時,注意到了一個以前用過的jsonp方法,但是自己只是單純跟著網上教程使用而已。但在嘗試著自己搭建後臺來讓瀏覽器使用jsonp方法獲取資源時,卻發現無論如何修改都不能執行回撥函式。索性自己就胡搞一番(反正是再閒暇時間),但是卻讓我瞎碰對了。我的後臺

關於jquery ajax請求發了,返回值也有,但是卻無法進去ajax的success函式

        這幾天在除錯專案中發現了jquery ajax出現了,請求發了,用chorme的network 發現請求也成功了,最後發現沒有進入ajax的success回撥函式,這個問題經我除錯發現

用openlayer是互動畫一個點、線、面,執行函式

graphicLayer 是一個vector圖層。 callback是回撥函式。 呼叫方法如下:  if (typeof newlayer != 'undefined' && newlayer != null) {                     v

根據條件編輯SQL語句,執行函式查詢

條件: date_range作業日期範圍 10一週內 20兩週內 30一個月內 40一個月之後 程式碼: private SimpleDateFormat sqlsdf = new SimpleDateFormat("yyyy-MM-dd"); public Strin

js中動態載入js並且判斷載入完成執行函式

這一段js雖然很少,但是足以知道什麼是動態載入js了,像requirejs,seajs其實原理也就是這樣,下面發出自己寫的函式 <span style="font-size:18px;colo

跨域請求 資料返回卻無法執行函式的原因之一

由於公司專案的問題,導致跨域的情況比較多。既要考慮安全性問題又要解決跨域。只能從中做一些取捨。 今天發現的問題是,前端已經獲取了後臺返回的CALLBACK函式,但是無論如何都不執行。這可把我急的,之前也寫過一次跨域請求。現在呼叫同樣寫好的函式,卻是一個能執行一

jquery的ajax方法的函式詳解

前言 最近學習jquery的$.post(),$.get(),$("#div1").load(),$.ajax()方法,發現確實很方便,但是對函式返回值確不理解,後面自己做了幾個實驗,總結後把結論整理

用谷歌的AsyncHttpClient簡單模仿安卓的AsyncHttpClient,實現非同步請求函式返回值

實現思路 既然要呼叫Future.get() 才能激發訪問,那麼就想到了使用一個執行緒去訪問。我們就不需要等待阻塞了。 模仿安卓的AsyncHttpClient回撥。根據狀態回撥不同的函式。 實現的效果 執行程式碼...

SpringMVC在處理Ajax請求後返回void導致前臺Ajax函式執行

問題簡述 在一次SpringMVC專案中,前臺通過Ajax請求,準備修改資料庫中的資料。因為Ajax請求只是讓後臺更改資料,所以Controller方法根本不需要返回給前臺任何資料,所以我們將Controller的方法的返回值設定為void。但令我困擾的是,前端頁面本應該執行的回撥函式一直不

js中的for迴圈與非同步函式執行順序問題

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                for(i=localStorage.length-1;i>=0;i--){//從後往前依次取每條localstorage local_key=local

Ajax非同步函式(callback)

ajax請求確實是非同步的,不過這請求是由瀏覽器新開一個執行緒請求,當請求的狀態變更時,如果先前已設定回撥,這非同步執行緒就產生狀態變更事件放到 JavaScript引擎的處理佇列中等待處理。見:htt

jquery的ajax success函式執行

     弄了好長時間,執行ajax請求的介面一直返回404,請求壓根就沒有傳到後臺,除錯了半天,原因找到了ajax請求裡面的引數一定得跟java後臺裡面的請求引數保持一致才行; data.productName = productname;

ajax非同步函式中給外部變數賦值的問題

<!doctype html> <head> <meta charset="utf-8"> </head> <body> <script src="http://localhost/UIBMSPHPProj

SpringMVC中使用ajax請求controller後無法執行success函式

1、今天上午寫了一個簡單的demo,用來驗證springMVC的功能,前臺實現如下: $.ajax({ type : 'post', url : webAppPath + "scl/pictureData/cmdRequestPictureData.do", d

beginthreadex()函式在建立多執行緒傳入函式時,好像只能傳入全域性函式或類的靜態成員函式,請問能不能傳入類的成員函式呢(非靜態)?

C++類成員函式直接作為執行緒回撥函式2009年06月01日 星期一 17:01我以前寫執行緒時要麼老老實實照著宣告寫,要麼使用C++類的靜態成員函式來作為回撥函式,經常會因為執行緒程式碼而破壞封裝.之前雖然知道類成員函式的展開形式,但從沒想過利用過它,昨天看深入ATL時無意中學

總結-全域性環境&執行流程&錯誤型別&垃圾回收機制&閉包&函式&函式

全域性環境&執行流程&錯誤型別&垃圾回收機制&閉包&函式&回撥函式 全域性環境 1.函式中的this表示改函式所屬的物件 2.window物件的成員在呼叫時可以省略window 執行流程 1.編譯程式碼:當前script程式碼段

非同步、+機制、執行緒queue、執行緒Event、協程、單執行緒實現遇到IO切換

# from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor # import requests # import os # import time # import random # # def get(

C++中 執行函式為靜態函式 及 類成員函式作為函式

 執行緒函式為靜態函式:   執行緒控制函式和是不是靜態函式沒關係,靜態函式是在構造中分配的地址空間,只有在析構時才釋放也就是全域性的東西,不管執行緒是否執行,靜態函式的地址是不變的,並不在執行緒堆疊中static只是起了一個裝飾的作用,所以二者並沒有必然的關係   執行緒也是一種