jquery ajax获取return值问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery ajax获取return值问题相关的知识,希望对你有一定的参考价值。
后台处理为
if( $user )
return false;
else
return true;
为什么在前台不能取得false或true值,echo false或echo true才能取到,ajax开启了同步传输async:false也不能取到return的值,为什么
html,json,xml 三种之分 说白了都是字符串,但是json成对象了
意思就是说,你ajax的返回参数是true或false的字符串 所以js判断是=="true" or =="false" 参考技术A 能发完整的代码?
jQuery ajax return值的获取方法
< a href="test.jsp" onclick="return ajaxCheck();"><img /></a>
ajaxCheck是ajax后台服务端判断并返回验证结果true,false。
要求ajaxCheck返回false时不要调到test.jsp页面。
ajax都知道是异步的,不等到ajaxCheck返回时都已经跑到test.jsp页面了,所以不行。
方法一:
< img onclick="return ajaxCheck();" />
checkCart : function(){
$.ajax({
type: "POST",
url: "xxxxxxxx",
data: "",
success: function(msg){
Cart.handleCheckCart(msg);
}
});
},
handleCheckCart : function(data){
var c = eval(data);
if(!c) {
return;
}
if(c.error>0) {
alert(unescape(c.msg));
return;
}
document.location.href="../test.jsp";
}
可以但是如果涉及命名空间不同的时候就容易找不到路径。而且也显得很勉强,很不专业。
方法二:
checkCart : function(){
var s = true;
$.ajax({
type: "POST",
async:false, //同步;
url: "user/orderDeliver!checkCart",
data: "",
success: function(msg){
s = Cart.handleCheckCart(msg);
}
});
return s;
},
handleCheckCart : function(data){
var c = eval(data);
if(!c) {
return false;
}
if(c.error>0) {
alert(unescape(c.msg));
return false;
}
return true;
参考 链接http://www.qdfuns.com/notes/19732/e2098124c7698cd2862894b3b611e5a1.html
以上是关于jquery ajax获取return值问题的主要内容,如果未能解决你的问题,请参考以下文章