我有一个带有删除按钮的数据列表,如下所示。
<ul class="quotes">
<% for(var i=0; i<quotes.length; i++) {%>
<li class="quote" data-id= "<%= quotes[i]._id %>">
<span><%= quotes[i].name %></span> -
<span><b><%= quotes[i].price %></b></span>
<button class="delete-todo">×</button>
</li>
<% } %>
</ul>
我从jQuery传递要删除的ID,如下所示:
$('.delete-todo').on('click', function(e){
e.preventDefault();
var id = $(this).parent().data('id');
$.post('/products',{'id':id},function(data){
},'json');
});
我有一个product.router.js如下:
router.delete(':/id', product_controller.product_delete);
我对如何调用此路由器删除并将id传递给此路由器方法感到困惑。
答案 0 :(得分:2)
在NodeJS中
router.delete('/products/:id', product_controller.product_delete);
您将在product_controller.product_delete函数中进入params
(req.params.id
)
和在jQuery中
$('.delete-todo').on('click', function(e){
e.preventDefault();
var id = $(this).parent().data('id');
$.ajax({
url: '/products/'+ id,
type: 'DELETE',
success: function(data) {
// your success response data here in data variable
console.log('result ', data);
}
});
});
答案 1 :(得分:1)
检查
Express JS
router.delete('/:id', product_controller.product_delete);
// If you are using router in `app.use('products', router)`
OR
router.delete('products/:id', product_controller.product_delete);
Ajax呼叫
$.ajax({
url: '/products/'+ id,
type: 'DELETE',
success: callback
});