$(".delete").click(
function() {
var thesender = this;
$(thesender).text("Del...");
$.getJSON("ajax.php", {},
function(data) {
if (data["result"])
$(thesender).remove(); // variable defined outside
else
alert('Error!');
}
);
return false;
}
);
如果用户在调用ajax回调之前点击另一个“.delete”,这会导致问题吗?
答案 0 :(得分:2)
它会在同一时间触发另一个ajax请求。这是否会导致问题取决于服务器端的事情。
通常你要删除某种类型的ID或密钥...我将在后面的代码中假设您将会这样做,但是现在它只是发出另一个删除并调用ajax.php
...结果如何这完全取决于那个PHP页面。
当 ajax请求完成时,那个 ajax请求发生回调,每个请求在这方面都是独立的,因此每个回调都是单独处理的。 thesender
位于您当前的闭包中,因此它对于每个请求都是唯一的,并且它是相应的回调。
答案 1 :(得分:1)
每次调用click
处理程序时,都会创建一个单独的闭包,因此每个AJAX回调都会引用正确的变量。
因此,您无需担心。 (假设服务器可以处理请求)
答案 2 :(得分:1)