function checkGuestNameOk(name) {
$.ajax({
type: "POST",
url: "/ajaxCallBack.aspx",
data: "type=checkUserName&&userName=" + name,
dataType: "html"
}).success(function (data) {
return data;//能得到data为1
});
}
//ajax调用检查用户是否存在
if (checkGuestNameOk($d.val()) == 1) {//这步得不到上面返回的data 是什么原因,提示undefined
$d.siblings('span').text("用户名可用").css("display", "inline-block").css("color", "green");
return true;
}
else {
$d.siblings('span').text("用户名已被使用").css("display", "inline-block").css("color", "green");
return false;
}
function get(){
var ret ;
$.ajax({
async:false,
url:"combobox_data.json"
}).success(
function(data){
ret = data;
});
return ret;
}
你用的是异步调用,在没有返回 下边已经用了
$.ajax({
type: "POST",
url: "/ajaxCallBack.aspx",
data: "type=checkUserName&userName=" + escape(name),
success:function(data){
if(data) == "1"){
$d.siblings('span').text("用户名可用").css("display", "inline-block").css("color", "green");
return true;
}
else {
$d.siblings('span').text("用户名已被使用").css("display", "inline-block").css("color", "green");
return false;
} }
})
你确定不行么?我怎么可以用?你要是想把那个提出来 在后边用 就必须要用同步方式 也就是设置 async为false 要么你就只能在success 方法里处理
type: "POST",
url: "/ajaxCallBack.aspx",
data: "type=checkUserName&userName=" + escape(name),
success:function(data){
checkGuestNameOk(data);
}
})function checkGuestNameOk(data) {
if(data) == "1"){
$d.siblings('span').text("用户名可用").css("display", "inline-block").css("color", "green");
return true;
}
else {
$d.siblings('span').text("用户名已被使用").css("display", "inline-block").css("color", "green");
return false;
}
}
$.ajax({
type: "POST",
url: "/ajaxCallBack.aspx",
data: "type=checkUserName&&userName=" + name,
dataType: "html"
}).success(function (data) {
$d.siblings('span').text(data).css("display", "inline-block").css("color", "green");
});
}