欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jquery ajax return沒(méi)有返回值的解決方法

 更新時(shí)間:2011年10月20日 22:54:13   作者:  
jquery ajax return沒(méi)有返回值的解決方法,需要的朋友可以參考下。
大家先看一段簡(jiǎn)單的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'>該用戶已被注冊(cè)</font></b>",false);
vusername.className="bigwrong";
return false;
}
}
});
}

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


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

復(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'>該用戶已被注冊(cè)</font></b>",false);
vusername.className="bigwrong";
//return false;
}
}
});
return bol;
}

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


1、添加async:false.即修改為同步了,什么意思?(按同事解釋就是,這是等這個(gè)ajax有了返回值后才會(huì)執(zhí)行下面的js。一語(yǔ)道破天機(jī),怪不得以前很多ajax調(diào)用里面的賦值都不起作用)。這樣等ajax給bol賦值完畢后,才執(zhí)行下面的js部分。而剛剛異步的話,還沒(méi)有來(lái)得及賦值,就已經(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'>該用戶已被注冊(cè)</font></b>",false);
vusername.className="bigwrong";
//return false;
}
}
});
return bol;
}

2、 通過(guò)傳入一個(gè)函數(shù)解決這個(gè)問(wèn)題。
復(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'>該用戶已被注冊(cè)</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ù)的方式,來(lái)處理成功和失敗情況下的頁(yè)面提示。
復(fù)制代碼 代碼如下:

//添加async:false.即修改為同步
//等ajax給bol賦值完畢后,才執(zhí)行下面的js部分。而異步的話,還沒(méi)有來(lái)得及賦值,就已經(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: '驗(yàn)證碼錯(cuò)誤!' }).time(1);
changeCaptchaImage('imgVerify2', 'txtVcode');
}
else {
bol = true;
}
}
});
return bol;
}
//驗(yàn)證沒(méi)通過(guò)是 返回false 否則執(zhí)行下面函數(shù)
$('.getVodes').click(function () {
if (vcodeYes()) {
。。。執(zhí)行下面。。。
}
});

相關(guān)文章

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

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

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

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

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

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

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

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

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

    jQuery菜單插件superfish使用指南

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

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

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

    jQuery隨機(jī)密碼生成的方法

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

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

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

    jquery中獲取select選中值的代碼

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

    jQuery橫向擦除焦點(diǎn)圖特效代碼分享

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

最新評(píng)論