日期:2014-05-16 浏览次数:20771 次
首先我可以明确的告诉你,这样是返回不了值的。jquery的方法,返回对象都是jquery的类型
它是一个chain的链。所有的jquery都有自己的返回值,用户不能指定返回值。这样就打断了jquery的
chain规则。
解决方案很多,提供以下几个:
1、在ajax方法外面定义临时遍历,接收boolean值也就是success中的值,这种方式需要同步才能接收到值
因为ajax不会等这个方法运行完了才执行下面的代码的,当然可以用setTimeout延时下
2、可以把你的值放在$.dada()的缓存中保存;如:$("div").data("temp", true);alert($("div").data("temp"));
3、可以设置在属性中保存,然后取到。如果不想要了还可以删掉
$(this).attr("temp", true);
var temp = false;
$.ajax({
url : "empManagerAction!validateEname.do",// 后台处理程序
type : "post",// 数据发送方式
dataType : "json",// 接受数据格式
data : "employeeForm.ename="+ename,// 要传递的数据
cache: false,//禁用缓存
// 回传函数
success : function(responsedata) {
if(responsedata=='0'){
$("#result").attr('color','B3E6DF');
$("#result").html('恭喜!该用户名还未被注册!');
//return true;
temp = true;//$("#result").attr("temp", true);
}else if(responsedata=='1'){
$("#result").attr('color','#FF0000');
$("#result").html('对不起!用户名已存在!');
//return false;
temp = false;//$("#result").attr("temp", false);
}
}
});
alert($("#result").attr("temp"));//这样就可以取值了