另一个AJAX调用的AJAX按钮不起作用

时间:2019-01-02 05:20:33

标签: javascript php jquery ajax

我正在尝试制作一个要上传,制作列表,从Google云端硬盘下载和删除的网站。都看起来不错(查看并列出工作方式) 我的麻烦是我单击删除按钮时的删除按钮,它只是在循环我的列表并说“ maaf”。 (maaf =对不起,它不起作用)

这是我的删除按钮ajax:

<script type="text/javascript">
  function deleteItem(){
   $.ajax({
    url  : "del.php",
    type : "POST" ,
    data : {
      data_id : $no,
    },
    success: function()
    {
        var data_arr = jQuery.parseJSON(data);
        var status   = data_arr.status;
        if(status == 'succsess'){
          location.reload();
          //alert('Maaf')
        }else{
          alert('Maaf')
          //location.reload()
        }
    }
  });       
        }
</script>

这里是我的del.php

<?php   
    require_once 'google-api-php-client/src/Google_Client.php';
    require_once 'google-api-php-client/src/contrib/Google_DriveService.php';
    $client = new Google_Client();
    $client->setClientId('my_id');
    $client->setClientSecret('my_secret');

    $sting = file_get_contents("token.json");
    $json_a = json_decode(file_get_contents("token.json"), true);

    $client->setAccessToken($json_a);
    $service = new Google_DriveService($client);
    $folder = 'code_folder';
    $optParams = array(
        'maxResults' => 10,
        'q' => "'".$folder."' in parents",  
    );

 $no = $_POST['no'];
 $service->files->delete($no);



 $data['status'] = 'success';

 echo json_decode($data);

 ?>

然后我使用另一个ajax调用按钮。

<script type="text/javascript">
$.ajax({
    url  : "list.php",
    type : "GET" ,
    success: function(data,alert_message)
    {

        var data_arr = jQuery.parseJSON(data);
        var status   = data_arr.status;
        var result   = data_arr.data_arr;
        if(status == 'success'){
            jQuery.each( result,function( i, items){
                var content   = '<tr id="'+items.no+'">';
        content  += '<td>';
                    content  += '<a href="javascript:void(0);" class="btn btn-danger btn-delete" data_id="'+items.no+'">delete</a>';
                    content  += '</td>';

                    content  += '</tr>';

                $('.list').append(content);

      $('.btn-delete').on('click', function() {

       //console.log("");
        $no = $(this).data("no");
        deleteItem($no);
      });

            }); 
            }else{
            alert('Gomenasai');
        }

    }       

});
</script>

1 个答案:

答案 0 :(得分:3)

快速浏览一下您似乎正在调用的代码

deleteItem($no) 

,但是在您的函数中,您不允许使用任何参数。

function deleteItem()

要传递变量,您需要允许它:

<script type="text/javascript">
  function deleteItem(no){
   $.ajax({
    url  : "del.php",
    type : "POST" ,
    data : {
      data_id : no,
    },
    success: function()
    {
        var data_arr = jQuery.parseJSON(data);
        var status   = data_arr.status;
        if(status == 'succsess'){
          location.reload();
          //alert('Maaf')
        }else{
          alert('Maaf')
          //location.reload()
        }
    }
  });       
        }
</script>