多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jquery > jquery ajax return值無法獲取的解決方法

jquery ajax return值無法獲取的解決方法

來源:程序員人生   發布時間:2014-06-10 23:29:15 閱讀次數:3553次

大家先看一段簡單的jquery ajax 返回值的js

代碼:

function getReturnAjax{
$.ajax({
type:"POST",
url:"ajax/userexist.aspx",
data:"username="+vusername.value,
success:function(msg){
if(msg=="ok"){
showtipex(vusername.id,"<img src='images/ok.gif'/><b><font color='#ffff00'>該用戶名可以使用</font></b>",false)
return true;
}
else
{
showtipex(vusername.id,"<img src='images/cancel.gif'/><b><font color='#ffff00'>該用戶已被注冊</font></b>",false);
vusername.className="bigwrong";
return false;
}
}
});
}


但是我們調用這個getReturnAjax()發現始終取得的都是false,那就是說return true,return false根本沒有起作用,在火狐下用firebug調試也證明,代碼根本不會執行到return 部分。

我們試想在函數里先定義一個變量,然后在ajax里賦值,最后在函數的末尾返回這個變量,會不會有效果呢?我們把代碼修改如下:

代碼:

function getAjaxReturn()
{
var bol=false;
$.ajax({
type:"POST",
url:"ajax/userexist.aspx",
data:"username="+vusername.value,
success:function(msg){
if(msg=="ok"){
showtipex(vusername.id,"<img src='images/ok.gif'/><b><font color='#ffff00'>該用戶名可以使用</font></b>",false)
// return true;
bol=true;
}
else
{
showtipex(vusername.id,"<img src='images/cancel.gif'/><b><font color='#ffff00'>該用戶已被注冊</font></b>",false);
vusername.className="bigwrong";
//return false;
}
}
});
return bol;
}

 結果仍然不起作用。最后解決方案有2,如下

1、添加async:false.即修改為同步了,什么意思?(按同事解釋就是,這是等這個ajax有了返回值后才會執行下面的js。一語道破天機,怪不得以前很多ajax調用里面的賦值都不起作用)。這樣等ajax給bol賦值完畢后,才執行下面的js部分。而剛剛異步的話,還沒有來得及賦值,就已經return了。

代碼:
function getAjaxReturn()
{
var bol=false;
$.ajax({
type:"POST",
async:false,
url:"ajax/userexist.aspx",
data:"username="+vusername.value,
success:function(msg){
if(msg=="ok"){
showtipex(vusername.id,"<img src='images/ok.gif'/><b><font color='#ffff00'>該用戶名可以使用</font></b>",false)
// return true;
bol=true;
}
else
{
showtipex(vusername.id,"<img src='images/cancel.gif'/><b><font color='#ffff00'>該用戶已被注冊</font></b>",false);
vusername.className="bigwrong";
//return false;
}
}
});
return bol;
}


2、 通過傳入一個函數解決這個問題。

代碼:
function getAjaxReturn(success_function,fail_function)
{
var bol=false;
$.ajax({
type:"POST",
url:"ajax/userexist.aspx",
data:"username="+vusername.value,
success:function(msg){
if(msg=="ok"){
showtipex(vusername.id,"<img src='images/ok.gif'/><b><font color='#ffff00'>該用戶名可以使用</font></b>",false)
success_function(msg);
}
else
{
showtipex(vusername.id,"<img src='images/cancel.gif'/><b><font color='#ffff00'>該用戶已被注冊</font></b>",false);
vusername.className="bigwrong";
fail_function(msg);
//return false;
}
}
});
function success_function(info)
{
//do what you want do
alert(info);
}
funciont fail_function(info)
{
//do what you want do
alert(info);
}

按需選擇自己需要的方案吧。一般大網站都采用第2種傳入函數的方式,來處理成功和失敗情況下的頁面提示。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------

上一篇 如何做一個成功的站長 跟新手朋友共享

下一篇 草根站長必讀 網站運營如何做好策劃工作

分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關注
欄目熱點
關閉
程序員人生
主站蜘蛛池模板: 国产v精品成人免费视频71sao | 国产精品60岁老女人 | 影视先锋av资源噜噜 | 亚洲一色 | 亚洲精品高清在线 | 一本之道免费视频 | 尤物精品视频 | 最新国产在线播放 | 性xxxxx大片免费视频 | 免费看www网站入口 免费看w片的网站在线看 | 国产啊v在线观看 | 宇都宫紫苑番号 | 波多野结衣一级视频 | 欧美精 | 国产成人综合欧美精品久久 | 久久精品国产免费中文 | 亚洲精品国产第1页 | 日本一区二区在线视频 | 亚洲国产欧美视频 | 亚洲一区二区三区四区在线观看 | 欧美美女free | 亚洲免费网址 | 毛片免费观看视频 | 欧美精品成人久久网站 | 高清欧美色欧美综合网站 | 男女免费观看在线爽爽爽视频 | 久久美女福利视频 | 秋霞一级特黄真人毛片 | 国产亚洲小视频 | 欧美色碰碰碰免费观看长视频 | 欧美一级毛片一级 | 久草在线综合 | 国产精品久久久久久久hd | xxxx性bbbb欧美野外 | 禁视频网站在线观看漫画 | 国产一区二区三区亚洲综合 | 亚洲生活片 | 免费观看欧美一级牲片一 | 尤物视频在线播放 | 亚洲高清成人 | 日本不卡在线播放 |