javascript - 要求服务器删除记录

标签 javascript jquery html rest

我是网络开发的新手,所以请多多包涵。我还简化了代码以尝试获得最佳答案。

<a href="/item/1">Item</a>
<img src="x.png" alt="Delete">

基本上,如果有人点击“项目”,他们就会被带到/item/1。如果他们点击 img x.png,它应该要求服务器删除/item/1。

如果我按原样单击带有代码的 x.png 显然什么也不会发生,但这是一个大问题:

我可以让我的网络服务器识别/item/:id 的 DELETE 方法,但我如何从浏览器提交 DELETE?如果我做不到,那么 POST 或 GET 将成为唯一的选择。

将 img 包装在 href=... 周围很容易,但这只会执行 GET 并且会破坏 RESTfulness,所以看起来我需要使用 POST。我怎样才能干净地做到这一点?

第二个问题:

我假设我还必须在提交删除后刷新页面以获取新数据。有没有办法避免这种情况?

欢迎使用 HTML、JavaScript、JQuery 回答。

最佳答案

使用 jquery ajax

让我们说

方法一

<a href="/item/1" class="delete_anchor">Item</a>

$(document).ready(function()
{
    $(".delete_anchor").click(function(e)
    {
         e.preventDefault();
         var url = $(this).attr('href');
          $.ajax(
          {
             url: url,
             method: 'POST',
             success: function()
             {
                 alert("done");
             }
          });
     });
});

方法二

<a href="#" id="1" class="delete_anchor">Item</a>

$(document).ready(function()
{
    $(".delete_anchor").click(function(e)
    {
         e.preventDefault();
         var id = $(this).attr('id');
          $.ajax(
          {
             url: '/item/,
             data: {"id":id},
             method: 'POST',
             success: function()
             {
                 alert("done");
             }
          });
     });
});

关于javascript - 要求服务器删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42321293/

相关文章:

jquery - 如何在拖动元素时显示自定义 HTML 模板?

javascript - 以模式传递 JSON 数据 |模式实验室

javascript - Backbone.js:比较集合中的模型属性

javascript - 删除具有特定值的选择选项

javascript - 在调用函数的选择上添加选择菜单

javascript - 如何使用 .attr ("href"之前的参数添加当前 url)?

php 邮件附件

javascript - 在我的淡出脚本中包含自动切换

javascript - 创建 javascript 输入

jquery - 使用 jQuery 将 div 包装到包装器 div 中