日期:2014-05-16  浏览次数:20338 次

JS和DWR的问题
function addtocart(foodid){//添加到购物车
dingcan.isSingle(foodid,checIsSingRes);//检查是否是同一个餐厅的
dingcan.checkFood(foodid,judge);//检查购物车中是否已经有相同的食品
}
function judge(data){
if(data==0){
alert("购物车中已经有此菜品,不能重复添加,可以修改菜品份数");
}
else{
dingcan.getFood(data,displaycart);
}
}
function checIsSingRes(data){
if(data==1){
alert("一张订单只能点同一餐厅的菜品");
}
}
3个JS方法,第一个是主方法 里面有两个DWR的远程调用方法,checIsSingRes,judge这两个是回调函数
现在的问题是 如果checIsSingRes(data)这个方法 执行了alert("一张订单只能点同一餐厅的菜品");如何停止执行主方法里面的
dingcan.checkFood(foodid,judge);//检查购物车中是否已经有相同的食品
直接跳出主方法

------解决方案--------------------
从逻辑上来讲,是给checkIsSingRes方法返回一个布尔参数.
但是不知道你这样子的写法,还能不能获取到返回值(建议你去试一下)

还有一个不是很好的办法,就是设定一个全局变量。默认为false 在alert("一张订单只能点同一餐厅的菜品");
之前赋值为true,主方法里面调用dingcan.checkFood(foodid,judge); 之前判断一下这个变量(不是很提倡这种)