您的位置:首页 > 其它

关于ajax回调函数遇到的小问题

2018-03-08 11:09 113 查看
1、昨天用$.ajax请求控制器发现死活请求不到,后来才发现控制器方法不能为private,改为public后成功请求。
2、今天用$.ajax去请求控制器,控制器删除数据库记录成功后,在$.ajax回调函数里面隐藏前台对应的记录,实现无刷新删除,但是发现后台能成功删除记录,但是前台回调函数体里面的语句死活执行不了,后来才发现在控制器里面成功执行sql后应该echo一个值,即使为1也好,这样回调函数才能成功执行。
控制器代码
//商品移出包裹功能
public function removePackage(){
    $type=$_POST['type'];
    $id=$_POST['id'];
    $data['package_id']=0; //这个可以不改为0,改为0为了方便前台判断
    $a=1;                    //防止国际转运移除后不能隐藏
    if($type==1){  //移除的为代购商品
        $a=M('Product')->where("id = " . $id . " AND user_id=" . $this->user ['id'])->save($data);
    }
    if($type==2){    //移除的为自助购商品
        $a=M('ProductAgent')->where("id = " . $id . " AND user_id=" . $this->user ['id'])->save($data);
    }
        $b=M('PackageProduct')->where(' product_id= ' . $id . ' AND type= ' . $type)->delete(); // 删除对应数据
        if($a>0&&$b>0)echo "1";
}
前台代码
<script>
    function remove(type,id) {
        if (confirm('确定要将商品移出包裹吗?')){
            $.ajax({
                async: false,
                url: "/Cart/removePackage.html",
                type: "POST",
                data: {"type":type,"id":id},
                dataType: "json",
                success : function(data){
                  $("#"+type+"_"+id).hide();
                },
                fail:function(){
                }
            });
        }
    }
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: