快速解決ajax返回值給外部函數(shù)的問題
如下所示:
function validateUser(mya){
var val=mya.name;
val = $.trim(val);
var flag=true;
if(val != ""){
var url1="${pageContext.request.contextPath}/group/getUserCount"
var data1= {"gid":val, time:new Date()};
$.post(url,data1,function(data){
// 1 表示用戶名為空,可以注冊
if(data=="1"){
alert("不能刪除,改組中有用");
flag=false;
}else{
flag=true;
}
})
if(flag==0){ //沒有有用戶
return true;
}else{
alert("改組中含有用戶,不能刪除");
return false;
}
}
}
問題: $.post的回調(diào)函數(shù)是在一個閉包中,有自己的作用域,返回值對于外部的函數(shù)不起作用,
可以在外部定義全局變量flag,但是 $.post異步請求,提前返回了flag, flag永遠的默認值,
解決方式: 使用$.ajax,把 異步請求設置為同步請求
其實 ajax功能非常強大,可以直接不用拼接json
$.ajax({
url:url1,
async:false,
data:data1,
success:function(data){
flag=data;
}
以上這篇快速解決ajax返回值給外部函數(shù)的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
AJAX POST數(shù)據(jù)中有特殊符號(轉(zhuǎn)義字符)導致數(shù)據(jù)丟失的解決方法
這篇文章主要介紹了Ajax發(fā)送轉(zhuǎn)義字符 、>、<、"接收數(shù)據(jù)不全問題,需要的朋友可以參考下2023-06-06
Ajax輪詢請求狀態(tài)(微信公眾號帶參數(shù)二維碼登錄網(wǎng)站)
最近做了一個項目,其中有功能要求通過掃碼微信公眾號帶參數(shù)的二維碼來登錄網(wǎng)站,接下來小編給大家介紹實現(xiàn)思路及代碼,一起看看吧2016-09-09
ajax方式實現(xiàn)注冊功能(提交數(shù)據(jù)到后臺數(shù)據(jù)庫完成交互)
這篇文章主要介紹了ajax方式實現(xiàn)注冊功能,提交數(shù)據(jù)到后臺數(shù)據(jù)庫完成交互,感興趣的小伙伴們可以參考一下2016-08-08
通過抓取淘寶評論為例講解Python爬取ajax動態(tài)生成的數(shù)據(jù)(經(jīng)典)
在學習python的時候,一定會遇到網(wǎng)站內(nèi)容是通過 ajax動態(tài)請求、異步刷新生成的json數(shù)據(jù) 的情況,并且通過python使用之前爬取靜態(tài)網(wǎng)頁內(nèi)容的方式是不可以實現(xiàn)的,所以這篇文章將要講述如果在python中爬取ajax動態(tài)生成的數(shù)據(jù)。2015-10-10
用ajax xml的數(shù)據(jù)讀取的HelloWorld程序
我們經(jīng)常會使用JavaScript實現(xiàn)動態(tài)的改變div里面的內(nèi)容,尤其是使用ajax的時候,尤為重要。2009-04-04

