我从我的网站向我的REST风格的Web服务(Asp.NET MVC 4 Web-Api ApiController)发送ajax HTML DELETE请求,以从我的HTML表格。我用jquery获得选定的行。发送一个AJAX请求,但在控制器端收到多个请求
当我按我删除按钮,发送删除ajax请求一切正常。但是,问题出在我发送第一个请求之后,如果我第二次点击删除按钮,有趣的是控制器会收到两个请求。让我用一个例子说明这个问题:
假设我有拥有ID,名称,姓类型的人两个数据:
约翰·布朗
2马修Jonhson
假设我选择表格的第一行并单击删除按钮。我的Api控制器按预期收到请求并删除数据库中的数据。一切都很好,直到现在。但是,删除第一行后,当我选择第二行并按下删除按钮时,我的控制器会收到第一行和第二行的删除请求。更有趣的是,当我点击删除按钮第三次,控制器接收三个请求和这样下去...
我提供了以下发送Ajax请求的代码:
$("#delete").click(function() {
$.ajax({
url: "api/Person/Delete?id=" + id,
type: "DELETE"
}).success(function (data) { create(data); });
});
我做不到解决问题。任何建议将不胜感激。
我返回我的数据json类型从得到的api控制器和我创建我的表行与循环在脚本和表行没有id.After表后按接收行索引,根据索引我拿行数据(ID姓氏)和我发送删除请求与此参数。但我点击第二次,首先api控制器接收第一行数据后收到第二行数据,我如何解决这个问题,请给你的意见感谢您的兴趣:D
数据即将获取api控制器(json类型)。
function create(data) {
var num_cols = 3
var theader = '
var tbody = '
';tbody += '
';tbody += '
ID ';tbody += '
Name ';tbody += '
Surname ';for (var i = 0; i < data.length; i++) {
tbody += '
';tbody += '
' + ' ' + data[i].Id + '';tbody += '
' + ' ' + data[i].Name + '';tbody += '
' + ' ' + data[i].Surname + '';tbody += '
\n';}
tbody += '
';var tfooter = '
';document.getElementById('tablodiv').innerHTML = theader + tbody + tfooter;
}
2013-07-26
Batuhan
+0
只是为了确认之前我做的答案...我假设'#delete'是每行,而不是复选框下的行和'#delete'在顶部(如Gmail)? –