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

