ajax 獲取不到return 返回值

2022-03-06 20:02:29 字數 1077 閱讀 6117

/*

常見錯誤示例 直接在 ajax 裡面return 結果

*/function

demo(),

async :

false

, success :

function

(data)

});}/*

結果 無返回

*/

兩個錯誤寫法會導致這種情況:

1.ajax預設為非同步,非同步不可以直接return返回結果

2.在ajax方法中直接return返回值,巢狀函式中,return該作用域函式的返回值,demo中,demo()為外部函式,return的結果對demo()無效

修改為:

41 /*

*42 * (1)同步呼叫 (2)且在ajax對全域性變數進行設值 (3)ajax函式外將變數return

43 * 結果:返回 2。成功獲取返回值

44 * 成功原因:先執行result = 2;再往下執行return result;

45

*/46 function

demo1(),

52 async : false

,53 success : function

(data)

56});

57 return result; //

258 }

可以正常執行了。但是,ajax 改為同步請求會導致阻塞;ajax 需要 進行非同步請求

/*

* * 新增async:true.即修改為非同步

* 結果以callback的形式**

*/function

demo1(params,callback),

async :

true

, success :

function

(data)

});}

demo1("value",function

(rs))

thinkphp I 方法獲取不到ajax傳值

function i name,default filter null else switch strtolower method break 如果 method為request,則 input為 request case request input request break 如果 method為...

ajax 傳到後台的引數獲取不到

使用ajax傳引數,發現後台獲取不到資料 value2 post data fundiv1 bind click function key1可以獲取到值,key2為空,原因是key2為json物件,後台無法解析,後台springmvc 解決方法 前端把json物件轉為字串,後台再解析 json.st...

ajax中return不生效

function addsglr 方法中在ajax中直接寫return是不生效的 因為它返回的是ajax中的success方法,而不是addsglr 因此可以設定乙個全域性變數用來做判斷,實現停止的效果。注意 ajax一定要是同步的。function addsglr datatype json as...