亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jquery ajax return沒有返回值的解決方法

 更新時間:2011年10月20日 22:54:13   作者:  
jquery ajax return沒有返回值的解決方法,需要的朋友可以參考下。
大家先看一段簡單的jquery ajax 返回值的js
復(fù)制代碼 代碼如下:

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;
}
}
});
}

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


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

復(fù)制代碼 代碼如下:

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;
}

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


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

復(fù)制代碼 代碼如下:

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、 通過傳入一個函數(shù)解決這個問題。
復(fù)制代碼 代碼如下:

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);
}

按需選擇自己需要的方案吧。一般大網(wǎng)站都采用第2種傳入函數(shù)的方式,來處理成功和失敗情況下的頁面提示。
復(fù)制代碼 代碼如下:

//添加async:false.即修改為同步
//等ajax給bol賦值完畢后,才執(zhí)行下面的js部分。而異步的話,還沒有來得及賦值,就已經(jīng)return了。
function vcodeYes() {
var bol = false;
$.ajax(
{
type: "GET",
url: "../Ajax/ValidationCode.ashx",
data: { txtVcode: $('#<%=txtVcode.ClientID%>').val() },
async: false,
success: function (data) {
if (data == "0") {
$.dialog({ icon: 'warning', follow: document.getElementById('txtVcode'), content: '驗證碼錯誤!' }).time(1);
changeCaptchaImage('imgVerify2', 'txtVcode');
}
else {
bol = true;
}
}
});
return bol;
}
//驗證沒通過是 返回false 否則執(zhí)行下面函數(shù)
$('.getVodes').click(function () {
if (vcodeYes()) {
。。。執(zhí)行下面。。。
}
});

相關(guān)文章

  • jquery 插件學(xué)習(xí)(二)

    jquery 插件學(xué)習(xí)(二)

    除了全局函數(shù)外,jquery中的大多數(shù)插件都是通過jquery對象的方法提供的
    2012-08-08
  • jquery屬性選擇器not has怎么寫 行懸停高亮顯示

    jquery屬性選擇器not has怎么寫 行懸停高亮顯示

    jquery屬性選擇器中的包含 not has怎么寫,讓一個table中沒有 提交 圖片的行懸停時都高亮,下面有個不錯的示例,喜歡的朋友可以參考下
    2013-11-11
  • jQuery soColorPacker 網(wǎng)頁拾色器

    jQuery soColorPacker 網(wǎng)頁拾色器

    這篇文章主要介紹了jQuery soColorPacker 網(wǎng)頁拾色器 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 基于jQuery創(chuàng)建鼠標(biāo)懸停效果的方法

    基于jQuery創(chuàng)建鼠標(biāo)懸停效果的方法

    這篇文章主要介紹了基于jQuery創(chuàng)建鼠標(biāo)懸停效果的方法,實例分析了jQuery實現(xiàn)鼠標(biāo)特效的原理與詳細步驟,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • jQuery菜單插件superfish使用指南

    jQuery菜單插件superfish使用指南

    Superfish是一款Jquery插件,它能非常容易的建立復(fù)雜的多級下拉菜單,Superfish使用也非常普遍。你可能用Superfish實現(xiàn)多種菜單效果。
    2015-04-04
  • jQuery動態(tài)添加<input type=

    jQuery動態(tài)添加<input type="file">

    有時候需要在頁面上允許用戶上傳多個文件,個數(shù)由用戶自己決定,個數(shù)多了也可以刪除,使用jQuery可以很簡單的實現(xiàn)這個功能
    2016-04-04
  • jQuery隨機密碼生成的方法

    jQuery隨機密碼生成的方法

    這篇文章主要介紹了jQuery隨機密碼生成的方法,實例分析了jQuery操作隨機數(shù)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 將jQuery應(yīng)用于login頁面的問題及解決

    將jQuery應(yīng)用于login頁面的問題及解決

    Login頁面應(yīng)該是迅速和簡潔的,于是如果可以不產(chǎn)生回送,則不產(chǎn)生回送是最好的。
    2009-10-10
  • jquery中獲取select選中值的代碼

    jquery中獲取select選中值的代碼

    jquery中獲取select選中值的代碼,需要的朋友可以參考下。
    2011-06-06
  • jQuery橫向擦除焦點圖特效代碼分享

    jQuery橫向擦除焦點圖特效代碼分享

    這篇文章主要介紹了jQuery橫向擦除焦點圖特效,一個具有自己特色的焦點圖會吸引用戶的注意力,讓用戶產(chǎn)生瀏覽網(wǎng)站的興趣至關(guān)重要,現(xiàn)在小編推薦給大家一款特別棒的焦點圖,感興趣的小伙伴可以參考下。
    2015-09-09

最新評論