ajax无刷新删除、复制 THINKPHP

时间:2023-12-15 19:16:56

一.jquery 代码:

<SCRIPT LANGUAGE=javascript>
function delGoods(goodsID) {
      if(confirm( "确定要删除?" )==true)
      {
          $.ajax({
              type: 'POST',
              url: '__APP__/Admin/Active/active_delete',
              data: {active_id:goodsID},
              success:function(data){
                  if(data==1){
                      //page(); //开启分页
                  $("tr[class='active_"+goodsID+"'").remove();
                  }
                  else{
                      alert(data);
                  }
                },
              dataType: "text",
            });
      
      
      }
     }
function copyGoods(goodsID) {
          $.ajax({
              type: 'POST',
              url: '__APP__/Admin/Active/active_copy',
              data: {active_id:goodsID},
              success:function(data){
                 if(data){
                     //alert(data);
                 $("#tr-wrap").append(data);
                  }
                  else{
                     //alert(data);
                  }
                },
              dataType: "html",
            });
     }
</SCRIPT>

注意的两点问题:

1.请求的URL路径,遇到问题仔细检查。还有大小写

2.dataType:选择正确的数据类型会影响你的数据的处理。

二.thinkphp

public function active_delete() {
        C('SHOW_PAGE_TRACE',false);
        $active_id= I('active_id');
        if($active_id>0){
        $active = D ('questionnaires');
        $result=$active->where('id='.$active_id)->setField('is_delete','1');
        if($result){
            echo "1";
        }
        else{
            echo "delete fail";
        }
        }
        else{
            echo "data empty";
        }
    }
    public function active_copy() {
        C('SHOW_PAGE_TRACE',false);
        $active_id= I('active_id');
        if($active_id>0){
        $active = D ('questionnaires');
        $active_data= $active->where('id='.$active_id)->find();
        foreach($active_data as $key=>$value){
            if($key=='id'){
                $activeid=$value;
            }
            else{
            $data[$key]=$value;
            }
        }
        $result=$active->data($data)->add();
        $data_list=" ";
        $data_list.='<tr class="active_';
        $data_list.= $activeid;
        $data_list.='">
        <td><input type="checkbox" /></td>
            <td>
                <span class="vote_title">';
        $data_list.=$data['title'];
        $data_list.='</span>
            </td>
            <td><span class="type">';
        $data_list.=$data['type'];
        $data_list.='</span></td>
            <td><span class="start_time">';
        $data_list.=$data['start_at'];
        $data_list.='</span></td>
            <td><span class="column">';
        $data_list.=$data['column'];
        $data_list.='</span></td>
            <td><span class="end_time">';
        $data_list.=$data['end_at'];
        $data_list.='<td>
                <ul class="button_wrap">
                    <li class="btn_status $status$"><i></i><span>状态</span></li>
                    <li><a href="#?id=$id$"><i></i><span>编辑</span></a></li>
                    <li><a href="#?id=$id$"><i></i><span>统计报表</span></a></li>
                    <li><i></i><span>数据下载</span></li>
                    <li><a href="#?id=$id$"><i></i><span>发布</span></a></li>
                    <li><i></i><a href="javascript:copyGoods($id$)"><span>复制</span></a></li>
                    <li class="btn_del"><a href="javascript:delGoods($id$)"><i></i><span>删除</span></a></li>

</ul>
            </td>
            </tr>
            ';
        if($result){
            echo $data_list;
        }
        else{
            echo "add fail";
        }
        }
        else{
            echo "data empty";
        }  
    
    }

三:HTML代码

<li><i></i><a href="javascript:copyGoods($id$)"><span>复制</span></a></li>
<li class="btn_del"><a href="javascript:delGoods($id$)"><i></i><span>删除</span></a></li>

代码:$id$是ajax分页里替换数据的需要。可根据自己需要变成自己的代码。