我是网络开发的新手,所以请多多包涵。我还简化了代码以尝试获得最佳答案。
<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/