獲取的ajax方法return的返回值的問題解析
獲取的ajax方法return的返回值的問題:
如果jquery中,獲取不到ajax返回值。 兩個錯誤寫法會導致這種情況:
1.ajax未用同步
2.在ajax方法中直接return返回值。
下面列舉了三種寫法,如果想成功獲取到返回值,參考第三種寫法
/**
* 方式:(1)同步呼叫 (2)在ajax函式中return值
* 結果:返回 1。未成功獲取返回值
* 失敗原因:ajax內部是一個或多個定義的函式,ajax中return返回值,
* 返回到ajax定義函式,而不是返回到ajax外層的函式checkAccount1()
*/
function checkAccount1(){
var result = 1;
$.ajax({
url : 'test.do',
type : "post",
data : {},
async : false,
success : function(data) {
return 2;
}
});
return result;
}
/**
* (1)非同步呼叫 (2)在ajax對全域性變數進行設值 (3)ajax函式外將變數return
* 結果:返回 1。未成功獲取返回值
* 失敗原因:ajax請求和後面的return result語句非同步執行,
* 導致return result比result = 2先執行並返回result的值
*/
function checkAccount2(){
var result = 1;
$.ajax({
url : 'test.do',
type : "post",
data : {},
async : true,
success : function(data) {
result = 2;
}
});
return result;
}
/**
* (1)同步呼叫 (2)且在ajax對全域性變數進行設值 (3)ajax函式外將變數return
* 結果:返回 2。成功獲取返回值
* 成功原因:先執行result = 2;再往下執行return result;
*/
function checkAccount3(){
var result = 1;
$.ajax({
url : 'test.do',
type : "post",
data : {},
async : false,
success : function(data) {
result = 2;
}
});
return result;
}
相關文章
- JQuery中ajax的使用與快取問題的解決方法jQuery快取
- 如何理解Return的返回值?
- jquery ajax請教的快取問題jQuery快取
- Python中獲取執行緒返回值的常用方法!Python執行緒
- dfs的return時機問題
- js獲取元素的方法(獲取html元素的方法)JSHTML
- 【踩坑】.NET非同步方法不標記async,Task<int> 返回值 return default問題非同步
- JQuery中ajax和JSON的獲取jQueryJSON
- 關於filter獲取session的問題!!!FilterSession
- SpringMVC的資料獲取問題SpringMVC
- nginx DNS 解析快取的更新問題NginxDNS快取
- 解決ajax跨域問題的多種方法跨域
- 詳細介紹C++多執行緒獲取返回值的方法C++執行緒
- win10系統遇到問題時獲取幫助的方法Win10
- php 與 ajax 獲取123的案例PHP
- ajax的get請求快取導致無法更新問題快取
- 關於海量資料的獲取問題
- 關於Class類與Classloader類的getResource方法獲取路徑的問題!
- Python3.x:Selenium+PhantomJS爬取帶Ajax、Js的網頁及獲取JS返回值PythonJS網頁
- JQuery Ajax跨域的問題jQuery跨域
- 09 獲取需求的方法
- IE瀏覽器中ajax使用快取資料的問題瀏覽器快取
- 獲取Java執行緒返回值的幾種方式Java執行緒
- victoriaMetrics無法獲取抓取target的問題
- js的getFullYear()和getYear()獲取年份問題JS
- jQuery獲取CSS樣式中的顏色值的問題jQueryCSS
- 關於動態建立的DOM元素獲取不到的問題。
- jQuery : ajax獲取Status CodejQuery
- C語言呼叫System命令並獲取命令的返回值C語言
- PHP --反射 --獲取類的方法PHP反射
- 獲取jdbctemplate的一種方法JDBC
- bash獲取程式ID的方法
- java編譯和獲取resource目錄的問題Java編譯
- 在非同步方法中獲取登陸使用者時出現的問題非同步
- jquery獲取ajax傳遞的值一個需要注意的地方jQuery
- sysdate返回值不變的問題處理
- 快取的問題快取
- QTP測試AJAX時的等待問題QT