<a href="https://www.linuxidc.com/test.jsp"><img src="https://www.linuxidc.com/xxxxxxx"/></a>
ajaxCheck是ajax后台服务端判断并返回验证结果true,false。
要求ajaxCheck返回false时不要调到test.jsp页面。
ajax都知道是异步的,不等到ajaxCheck返回时都已经跑到test.jsp页面了,所以不行。
方法一:
<img src="https://www.linuxidc.com/xxxxxxx"/>
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;
}
解决问题。