在XDK中使用ajax和php删除sql中的数据

在XDK中使用ajax和php删除sql中的数据,php,jquery,ajax,intel-xdk,Php,Jquery,Ajax,Intel Xdk,我想在xdk中按delete按钮时删除sql中的一行数据。我搜索了一些代码,但仍然没有删除数据 这是php文件(delete.php) 如您所见,当我在xdk中运行程序时,我放置了警报以了解代码是否正在处理。它最多只能发出警报(“2”)。而不是继续到3。所以我认为我的ajax是错误的。我对ajax有点陌生。有几件事: 您应该使用console.log()而不是alert()(imo)进行测试 如果您打开控制台(F12在谷歌浏览器中),您在代码运行时是否看到任何控制台错误 您的代码易受影响,您可能

我想在xdk中按delete按钮时删除sql中的一行数据。我搜索了一些代码,但仍然没有删除数据

这是php文件(delete.php)


如您所见,当我在xdk中运行程序时,我放置了警报以了解代码是否正在处理。它最多只能发出
警报(“2”)。而不是继续到3。所以我认为我的ajax是错误的。我对ajax有点陌生。

有几件事:

  • 您应该使用
    console.log()
    而不是
    alert()
    (imo)进行测试
  • 如果您打开控制台(
    F12
    在谷歌浏览器中),您在代码运行时是否看到任何控制台错误
  • 您的代码易受影响,您可能需要查看以与数据库交互
  • 如果更改以下内容,PHP文件是否正确执行:
  • $foodid=$\u POST['foodid']

    $foodid=1

    如果第4个有效,问题在于javascript。使用数字1和2中的建议进一步诊断问题

    更新

    扩大。您的第三个
    警报()
    无法触发有几个原因。最有可能的情况是AJAX调用不成功(仅当AJAX调用成功时才会调用成功处理程序)。要在发生错误或故障时查看响应,可以执行以下操作:

    $.ajax({
      url: "http://localhost/PHP/delete.php",
      method: "POST",
      data: { del_id : del_id  },
      dataType: "json"
    })
    .done(function( msg ) {
      console.log(msg);
    })
    .fail(function( jqXHR, textStatus ) {
      alert( "Request failed: " + textStatus );
    });
    
    关于AJAX和jQuery的
    $的更多信息。可以访问AJAX

    我的“最佳猜测”是一个格式不正确的AJAX请求,您的请求从未到达服务器,或者服务器以错误响应。

    
    
                                <?php
                                    $sqli= "*select * from temp_salesorder *";
                                    $executequery= mysqli_query($db,$sqli);
                                    while($row = mysqli_fetch_array($executequery,MYSQLI_ASSOC))
                                    {       
                                ?>                  
    
     //"class= delbutton" is use to delete data through ajax
    
    <a href="#" **id =<?php echo $row['transaction_id']; ?>** class="**delbutton**" title="Click To Delete"><button> Cancel</button></a>
    
    
    
    
    
         <!-- language: lang-js -->
    
         //Ajax Code
            <script type="text/javascript">
            $(function() {
    
    
            $(".delbutton").click(function(){
    
            //Save the link in a variable called element
            var element = $(this);
    
            //Find the id of the link that was clicked
            var del_id = element.attr("id");
    
            //Built a url to send
            var info = 'id=' + del_id;
    
             $.ajax({
               type: "GET",
               url: "deletesales.php",
               data: info,
               success: function(){
    
               }
             });
                     $(this).parents(".record").animate({ backgroundColor: "#fbc7c7" }, "fast")
                    .animate({ opacity: "hide" }, "slow");
    
    
    
            return false;
    
            });
    
            });
            </script>
    
    //“class=delbutton”用于通过ajax删除数据 //Ajax代码 $(函数(){ $(“.delbutton”)。单击(函数(){ //将链接保存在名为element的变量中 var元素=$(此); //查找已单击的链接的id var del_id=element.attr(“id”); //构建了一个要发送的url var info='id='+del_id; $.ajax({ 键入:“获取”, url:“deletesales.php”, 数据:信息, 成功:函数(){ } }); $(this.parents(“.record”).animate({backgroundColor:{fbc7c7},“fast”) .animate({opacity:“hide”},“slow”); 返回false; }); });
    //deletesales.php

    <?php
    $db_host        = 'localhost';
    $db_user        = 'root';
    $db_pass        = '';
    $db_database    = 'pos'; 
    $db = mysqli_connect($db_host,$db_user,$db_pass,$db_database);
        $id=$_GET['id'];  <!-- This id is get from delete button -->
    
    
        $result = "DELETE FROM temp_salesorder WHERE transaction_id= '$id'";
         mysqli_query($db,$result);
    
    ?>
    
    
    
        <!-- end snippet -->
    

    谢谢..我用笔记本电脑进行了一次长时间的一对一面试后发现了我的错误。。哈哈哈。。谢谢
    
                                <?php
                                    $sqli= "*select * from temp_salesorder *";
                                    $executequery= mysqli_query($db,$sqli);
                                    while($row = mysqli_fetch_array($executequery,MYSQLI_ASSOC))
                                    {       
                                ?>                  
    
     //"class= delbutton" is use to delete data through ajax
    
    <a href="#" **id =<?php echo $row['transaction_id']; ?>** class="**delbutton**" title="Click To Delete"><button> Cancel</button></a>
    
    
    
    
    
         <!-- language: lang-js -->
    
         //Ajax Code
            <script type="text/javascript">
            $(function() {
    
    
            $(".delbutton").click(function(){
    
            //Save the link in a variable called element
            var element = $(this);
    
            //Find the id of the link that was clicked
            var del_id = element.attr("id");
    
            //Built a url to send
            var info = 'id=' + del_id;
    
             $.ajax({
               type: "GET",
               url: "deletesales.php",
               data: info,
               success: function(){
    
               }
             });
                     $(this).parents(".record").animate({ backgroundColor: "#fbc7c7" }, "fast")
                    .animate({ opacity: "hide" }, "slow");
    
    
    
            return false;
    
            });
    
            });
            </script>
    
    <?php
    $db_host        = 'localhost';
    $db_user        = 'root';
    $db_pass        = '';
    $db_database    = 'pos'; 
    $db = mysqli_connect($db_host,$db_user,$db_pass,$db_database);
        $id=$_GET['id'];  <!-- This id is get from delete button -->
    
    
        $result = "DELETE FROM temp_salesorder WHERE transaction_id= '$id'";
         mysqli_query($db,$result);
    
    ?>
    
    
    
        <!-- end snippet -->