javascript - 使用ajax jquery nodejs从数据表和mysql中删除数据时遇到问题

标签 javascript jquery node.js ajax datatables

我需要帮助从 jquery 删除数据 在后端。我尝试了很多事情但没有成功。我正在使用相同的方法在表上添加数据并且它有效。我不明白为什么它不能用于删除。

js

 router.delete('/',(req,res)=>{ 
        var sil ={barkod: req.body.barkod};

        console.log(sil);
        connection.query('DELETE FROM stok WHERE barkod=?',sil,(err,rows,fields)=>{
        console.log(sil);
            if(!err){   

                res.sendFile(path.join(__dirname + '/secondPage.html'));
            }
            else{
                console.log(err);
            }
            connection.end();
        });
    });

HTML

<script>
    $(document).ready(function (){

       $('#stockManager').DataTable({
          responsive: true,
          select: true,
             ajax : {
            url : "http://localhost:3000/secondPage",},
          columns: [
              {data : "urun_adi"}, 
              {data : "barkod"}, 
              {data : "stok_sayi"}, 
              {data : "satis_fiyati"}, 
              {data : "maliyet"},
              {data : "firma_adi"}
          ],

       });
    });
</script>

<table id="stockManager" class="display" style="width:100%">
    <thead>
        <tr>
            <th>Adı</th>
            <th>Kod</th>
            <th>Miktar</th>
            <th>Satış Fiyatı</th>
            <th>Maliyet</th>
            <th>Tedarikçi</th>
        </tr>
    </thead>
    <tbody>
    </tbody>
    </table>
<form id="delete" action="/secondPage" method="delete"  >
        <div class="col-xs-6 form-group">
            <label for="delete_row">Silinecek ürünün barkodunu giriniz:</label>
      <input id="delete_row" type="delete_row"class="form-control" name="delete_row">
        <button id="delete" type="submit">DELETE PRODUCT</button> 
        </form> 
    <script type='text/javascript'>
     $('delete').on('click', function(e) {
        e.preventDefault();
        console.log(barkod);
        $.ajax({
          type: 'DELETE',
          url: '/secondPage/' + barkod,
          success: function(){
            console.log('timam');
          }
        });
      });</script>

最佳答案

当您发送 DELETE 请求时,您没有收到来自正文的数据(如 POST)。

在 DELETE 请求中,您应该使用参数(类似于 GET 请求),如下所示:

router.delete('/:barkod', (req,res)=>{ 
    var sil = req.params.barkod;
.
.
.

Express会自动解析url中的参数。

关于javascript - 使用ajax jquery nodejs从数据表和mysql中删除数据时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907149/

相关文章:

javascript - Select2 多选下拉自定义搜索

javascript - 使用 JQuery Ajax 和 ASP.Net Mvc 的正确模式是什么?

node.js - 如何在 Loopback 中使用访问 token ?

node.js - 如何获取存储桶中的所有对象列表,包括来自 S3 存储桶的单个请求中的标签

javascript - 找不到模块 'ldapjs'

javascript - 异常 : Range not found. 尝试使用事件单元格放置多个列。 (但是手动输入时有效)

javascript - jQuery - 给定父窗口同一​​域中的 iFrame 对话框,如何从父窗口中删除项目

node.js - react native 音频流

javascript - 带有触发点击的 fancybox 错误

javascript - 使用 javascript 将 href 文本分成多行