Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery代码点火器。删除第二张图片失败_Jquery_Ajax_Codeigniter - Fatal编程技术网

jQuery代码点火器。删除第二张图片失败

jQuery代码点火器。删除第二张图片失败,jquery,ajax,codeigniter,Jquery,Ajax,Codeigniter,我有一个选择的产品和图片页面。我想从数据库和文件夹中删除有关图片的数据,并通过jQueryAjax更新页面 首先,我尝试使用,我可以删除一个图片更新页面成功,但后URL被更改为结束添加,所以脚本停止发送得到这部分的评论,你可以找到下面 其次,我添加了按钮并使用。单击,然后。打开事件。同样第一张图片删除第二张不,只在刷新后删除。第二次尝试-没有任何更改,就像按钮没有事件一样 controller main.php: function del_image($picture_id){

我有一个选择的产品和图片页面。我想从数据库和文件夹中删除有关图片的数据,并通过jQueryAjax更新页面

首先,我尝试使用,我可以删除一个图片更新页面成功,但后URL被更改为结束添加,所以脚本停止发送得到这部分的评论,你可以找到下面

其次,我添加了按钮并使用。单击,然后。打开事件。同样第一张图片删除第二张不,只在刷新后删除。第二次尝试-没有任何更改,就像按钮没有事件一样

controller main.php:

       function del_image($picture_id){

             $this->load->model('admin/Product_crud');
            $data['picture_name'] = $this->Product_crud->get_picture_name($picture_id);
            //var_dump($data);
             unlink('uploads/100/'.$data['picture_name'][0]->url);

             $data['product_id'] = $this->Product_crud->find_product_id_from_picture($picture_id);
             $this->Product_crud->del_picture_from_db($picture_id);
            $data['picture'] = $this->Product_crud->get_picture($data['product_id'][0]->product_id);

            $update_html = $this->Product_crud->create_picture_output($data['picture']);
            echo json_encode($update_html);



              //$this->output->enable_profiler(TRUE);
         }
模型产品_crud.php:

      function create_picture_output($pictures){
         $output = NULL;
         $output .="<table border='1'>";
          foreach ($pictures as $picture){

              $output .=  "<tr>";
              $output .= "<td><a class='del_picture'  href='".$picture->picture_id."'><img title='Удалить' src='".base_url()."images/del.png'> </a></td>
              <td><img src='".base_url()."uploads/100/".$picture->url."'></td>
               <td><input class='del_picture' type='button' name='del'  value='".$picture->picture_id."'><img title='Удалить' src='".base_url()."images/del.png'> </td>";

                      $output .= "</tr>";

        }
           $output .="</table>";
           return $output;
        }
查看表单_edit_product.php

       echo "<div id='result_table'>";

       echo "<table border='1'>";


       foreach ($url as $picture){

       echo "<tr>";
       echo "<td><a class='del_picture' href='".$picture_id[$l]."'><img             title='Удалить' src='".base_url()."images/del.png'></a></td>
              <td><img src='".base_url()."uploads/100/".$picture."'></td>
              <td><input class='del_picture' type='button' name='del' value='".$picture_id[$l]."'><img title='Удалить' src='".base_url()."images/del.png'></td>";
            $l++;
            echo "</tr>";
         }


          ?>

         </table>
         </div>
脚本:

   $(".del_picture").on("click", function(){
     /* var picture_id =  $(this).attr("href");
        var myurl = '<?php echo base_url()."admin/main/del_image/"?>';
         $(this).attr("href",'#'); */

         var picture_id =  $(this).attr("value");
          var myurl = '<?php echo base_url()."admin/main/del_image/"?>';

          var url = myurl + picture_id
       $.ajax({
        url: url,
        type:'GET',
        dataType: 'json',
        success: function(update_html){
                $("#result_table").html(update_html);

            } 
        });    

    });

问题是URL/jQuery脚本/GET。可能是在更新事件后没有添加到按钮…

如果您愿意,您可以使用ajax,但实际上不必这样做。还有另一种方法。在您的控制器中,在这行后面的del_image方法末尾:

$this->Product_crud->del_picture_from_db($picture_id);
把这个密码

$ref = $this->input->server('HTTP_REFERER', TRUE);
redirect($ref, 'location');
这将获取照片删除后的最后一个url并刷新页面。您不需要更新html,也不需要json


如果愿意,也可以使用ajax,但代码中存在一些错误。例如,您需要删除数据类型json,因为您正在使用GET请求。另外,在创建url时,在结束php语句之前缺少分号

修正了分号,谢谢。我想在学习jquery时使用它。为什么必须删除数据类型。你能给我一些建议吗?我仍在搜索答案,但未成功。应删除数据类型,因为您正在使用GET请求。GET请求将把您的数据放在url中。当您将数据类型指定为json时,通常意味着您正在发出post请求并在post请求体中发送数据。数据类型可以是各种各样的东西,比如xml、编码字符串、json。如果在案例ID中只发送1个对象,则将其放入GET。如果您必须发送多个对象,您可以发出POST请求,然后选择数据类型。示例:{name:Mike,username:Mike,city:new yok}-这将是json;它开始工作了,但是延迟了大约200-350毫秒。默认情况下,jQuery使用异步请求。那么您对此还有问题吗??你要删除的图片有多大?