獲取的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快取
- Python中獲取執行緒返回值的常用方法!Python執行緒
- dfs的return時機問題
- Python3.x:Selenium+PhantomJS爬取帶Ajax、Js的網頁及獲取JS返回值PythonJS網頁
- SpringMVC的資料獲取問題SpringMVC
- 獲取上個月的問題
- 【踩坑】.NET非同步方法不標記async,Task<int> 返回值 return default問題非同步
- 解決ajax跨域問題的多種方法跨域
- win10系統遇到問題時獲取幫助的方法Win10
- 詳細介紹C++多執行緒獲取返回值的方法C++執行緒
- victoriaMetrics無法獲取抓取target的問題
- 09 獲取需求的方法
- 獲取Java執行緒返回值的幾種方式Java執行緒
- jQuery : ajax獲取Status CodejQuery
- java編譯和獲取resource目錄的問題Java編譯
- PHP --反射 --獲取類的方法PHP反射
- 獲取類名稱的方法
- 在非同步方法中獲取登陸使用者時出現的問題非同步
- 快取的問題快取
- 怎麼在ajax外邊使用ajax裡面在後端獲取的資料後端
- VS2019中scanf返回值被忽略的問題及其解決方法
- WebApi和Mvc的Session一直獲取不到問題WebAPIMVCSession
- SSL認證 request.getScheme() 獲取不到https的問題SchemeHTTP
- datatables使用ajax獲取資料
- Javascript獲取原型的四種方法JavaScript原型
- Appium Android 獲取WebView元素的方法APPAndroidWebView
- 獲取 Class 物件的 3 種方法物件
- C獲取程式名稱的方法
- Java獲取Object中Value的方法JavaObject
- Ajax與Flask傳值的跨域問題Flask跨域
- 7個獲取訪問者真實IP的方法,速學!!!
- 關於陣列的物件獲取及排序問題/小程式的多層頁面返回問題陣列物件排序
- php一句話獲取獲取檔案目錄的方法PHP
- Go 之基礎速學 (八) 方法當中的返回值問題(小白篇)Go
- vue中methods中的方法閉包快取問題Vue快取
- jQ中的Ajax方法
- 最全的獲取元素寬高及位置的方法
- 根據id獲取元素的寬度的方法