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

标签 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>

最佳答案

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

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>

关于javascript - 另一个 AJAX 调用的 AJAX 按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54001575/

相关文章:

javascript - jQuery - 将元素移动到 html 中的另一个位置

javascript - 类型 'navigate' 上不存在属性 'Router' 。你的意思是 'navigated' 吗?

php - 使用 MySql/PHP 解释日期

php - 自动将mysql错误和其他错误发送到日志文件的方法?

javascript - 有没有办法通过变量从对象中获取信息?

javascript - 如何使用jquery获取下拉列表的值?

php - POST 值未按预期返回

javascript - 用于创建 geojson/topojson 形状的 UI 工具?

php - PDO:setAttribute() 对 dblib 和 SQL Server 没有影响

Jquery 移动更改格式,无效 float ?