jquery ajax 返回值
functiongetcode(){$.ajax({type:"post",url:"/campus/shAdminInfo.do?method=shAdminInfoE...
function getcode(){
$.ajax({
type:"post",
url:"/campus/shAdminInfo.do?method=shAdminInfoEmail&Email="+mail,
dataType:"json",
success:function(data){
if(data.Email=="false"){
$("#pwdspan").html("<img src='/campus/html/images/gou.gif'/>");
return true;
}
}
});
}
上面的函数中返回true,一般不用ajax直接掉用这个函数 是可以得到true的 用了ajax就得不到了 请问有什么方法能得到true这个返回值。 展开
$.ajax({
type:"post",
url:"/campus/shAdminInfo.do?method=shAdminInfoEmail&Email="+mail,
dataType:"json",
success:function(data){
if(data.Email=="false"){
$("#pwdspan").html("<img src='/campus/html/images/gou.gif'/>");
return true;
}
}
});
}
上面的函数中返回true,一般不用ajax直接掉用这个函数 是可以得到true的 用了ajax就得不到了 请问有什么方法能得到true这个返回值。 展开
5个回答
展开全部
楼上的说的对,ajax存在时间差
也就是说如果你在其它地方写
var r = getcode();
那么这个r是什么都得不到的,当你执行getcode这个方法时,它不会等你的ajax返回在执行下面的,ajax为异步请求,顾名思义它的请求时跟你的js同时执行的,所以要对ajax返回结果进行相应的操作都是写在它的回调函数里,即: success:function(data){...}里面,这样说你可能不太明白,举个例子
var re = 0;
function test(){
alert(re);//num1
re = testAjax();
alert(re);//num3
}
function testAjac(){
$.ajax({
type:"post",
url:"",
dataType:"json",
success:function(data){
re = 1
alert(re);//num2
}
});
}
上面执行alert的顺序肯定是num1,num3,num2,并且alert出来的值是0,0,1;
当然如果你的请求足够快(几乎不可能),快到比本页面还快,那么顺序就会是num1,num2,num3了
也就是说如果你在其它地方写
var r = getcode();
那么这个r是什么都得不到的,当你执行getcode这个方法时,它不会等你的ajax返回在执行下面的,ajax为异步请求,顾名思义它的请求时跟你的js同时执行的,所以要对ajax返回结果进行相应的操作都是写在它的回调函数里,即: success:function(data){...}里面,这样说你可能不太明白,举个例子
var re = 0;
function test(){
alert(re);//num1
re = testAjax();
alert(re);//num3
}
function testAjac(){
$.ajax({
type:"post",
url:"",
dataType:"json",
success:function(data){
re = 1
alert(re);//num2
}
});
}
上面执行alert的顺序肯定是num1,num3,num2,并且alert出来的值是0,0,1;
当然如果你的请求足够快(几乎不可能),快到比本页面还快,那么顺序就会是num1,num2,num3了
展开全部
“用了ajax就得不到了”
能不能详细点呀?
我怀疑你的ajax写错。
$.ajax({
type:"post",
url:"/campus/shAdminInfo.do?method=shAdminInfoEmail&Email="+mail,
dataType:"json",
success:function(data){
if(data.Email=="false"){
$("#pwdspan").html("<img src='/campus/html/images/gou.gif'/>");
return true;
}
},
error:function(){
alert("error");
}
});
改成上面这个看看有没有弹出窗口?如果有就说明你的ajax有问题呢!
能不能详细点呀?
我怀疑你的ajax写错。
$.ajax({
type:"post",
url:"/campus/shAdminInfo.do?method=shAdminInfoEmail&Email="+mail,
dataType:"json",
success:function(data){
if(data.Email=="false"){
$("#pwdspan").html("<img src='/campus/html/images/gou.gif'/>");
return true;
}
},
error:function(){
alert("error");
}
});
改成上面这个看看有没有弹出窗口?如果有就说明你的ajax有问题呢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax存在一个延时差异
你不要想getcode给你返回true,你需要的是
$("#pwdspan").html("<img src='/campus/html/images/gou.gif'/>");
//在此加入你的处理逻辑
return true;
你不要想getcode给你返回true,你需要的是
$("#pwdspan").html("<img src='/campus/html/images/gou.gif'/>");
//在此加入你的处理逻辑
return true;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以考虑用隐藏域 <input type="hidden"
在success 方法中 给隐藏域赋值,然后再获取
在success 方法中 给隐藏域赋值,然后再获取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-07-07
展开全部
你把function中的代码封装成另一个方法,在function中调用这个方法。你还可以定义一个全局变量,把返回值付给他
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询