Javascript 使用.each使用AJAX按id删除所有项目
甚至可以使用ajax从服务器批量删除项目吗?我在这里完全不知所措 我试图运行each函数来提取服务器上每个项目的url id,然后将其插入ajax删除类型调用。这对我来说是有道理的,但我还是一个编程新手,我觉得我可能还有很长的路要走 对这方面的任何深入了解都将是巨大的帮助。谢谢Javascript 使用.each使用AJAX按id删除所有项目,javascript,jquery,ajax,Javascript,Jquery,Ajax,甚至可以使用ajax从服务器批量删除项目吗?我在这里完全不知所措 我试图运行each函数来提取服务器上每个项目的url id,然后将其插入ajax删除类型调用。这对我来说是有道理的,但我还是一个编程新手,我觉得我可能还有很长的路要走 对这方面的任何深入了解都将是巨大的帮助。谢谢 $('delete friends')。在('click',function()上{ $.ajax({ 键入:“GET”, 网址:'http://rest.learncode.academy/api/johnbob/f
$('delete friends')。在('click',function()上{
$.ajax({
键入:“GET”,
网址:'http://rest.learncode.academy/api/johnbob/friends',
成功:功能(朋友){
var scratchFriend=$。每个(朋友,函数(i,朋友){
var-friendID=(friend.id);
console.log(friendID);
$ajax({
键入:“删除”,
网址:'http://rest.learncode.academy/api/johnbob/friends/'
friendID','
成功:函数(){
log('Friend Deleted Successfully!');
}
});
});
}
});
});代码>
#删除好友{
位置:绝对位置;
排名前10%;
左:70%;
字体大小:20px;
边界半径:10px;
}
删除所有的朋友?
做朋友
姓名:
年龄:
加入我们吧,朋友
我认为最好将一组好友ID发送到后端-您只需稍微调整一下后端:
$('#delete-friends').on('click', function() {
$.ajax({
type: 'GET',
url: 'http://rest.learncode.academy/api/johnbob/friends',
success: function(friends) {
if (!friends) {
return;
}
var friendIds = [];
$.each(friends, function(i, friend) {
friendIds.push(friend.id);
});
$ajax({
type: 'POST',
url: 'http://rest.learncode.academy/api/johnbob/friends/'
data: {
friendIds: friendIds
},
success: function() {
console.log('Friend Deleted Successfully!');
}
});
}
});
});
或者更好—创建一个删除方法,该方法将接收用户并删除其所有好友:
$('#delete-friends').on('click', function() {
$.ajax({
type: 'POST',
url: 'http://rest.learncode.academy/api/delete/friends',
data: {
user: 'johnbob'
},
success: function(data) {
if (!data) {
return;
}
console.log(data);
}
});
});
但我猜您使用的是API,因此无法真正更改后端
从我在learncode的文档中看到的内容来看,你可以在url中添加朋友的id来删除它。这应该可以做到:
// -- SAME CODE FROM ANSWER --
$ajax({
type: 'DELETE',
url: 'http://rest.learncode.academy/api/johnbob/friends/' + friendID
success: function() {
console.log('Friend Deleted Successfully!');
}
});
// -- SAME CODE FROM ANSWER --
通常,服务器具有批量删除功能,您可以在其中传递所有要删除的ID。一个接一个地删除它们会带来一点流量,因为对于发送给服务器的每个id/请求,都会发送关于请求的元信息,这是多余的。您可以通过发送所有ID将此请求减少为一个。尝试url:'http://rest.learncode.academy/api/johnbob/friends/“+friendID,
在您的DELETE
Ajax
请求中。您还可以在一个删除请求中传递多个参数。参考这篇文章,操作后端并不是一个真正的选项。我必须通过ajax调用来完成。