Javascript 匿名函数变量作用域[js,ajax]
如果用户在调用ajax回调之前单击另一个“.delete”,这可能会导致问题。它将在执行相同操作的同时触发另一个ajax请求。这是否会导致问题,取决于服务器端的情况 通常情况下,您会删除某种id或密钥……我假设在本代码后面的部分中您会删除,但现在它只会发出另一个delete并调用Javascript 匿名函数变量作用域[js,ajax],javascript,ajax,scope,anonymous-methods,Javascript,Ajax,Scope,Anonymous Methods,如果用户在调用ajax回调之前单击另一个“.delete”,这可能会导致问题。它将在执行相同操作的同时触发另一个ajax请求。这是否会导致问题,取决于服务器端的情况 通常情况下,您会删除某种id或密钥……我假设在本代码后面的部分中您会删除,但现在它只会发出另一个delete并调用ajax.php…结果完全取决于该php页面 当该ajax请求完成时,会对该ajax请求进行回调,每个请求在这方面都是独立的,因此每个回调都是单独处理的sender位于当前闭包中,因此对于每个请求及其各自的回调,它也是唯
ajax.php
…结果完全取决于该php页面
当该ajax请求完成时,会对该ajax请求进行回调,每个请求在这方面都是独立的,因此每个回调都是单独处理的
sender
位于当前闭包中,因此对于每个请求及其各自的回调,它也是唯一的。它将在执行相同操作的同时触发另一个ajax请求。这是否会导致问题,取决于服务器端的情况
通常情况下,您会删除某种id或密钥……我假设在本代码后面的部分中您会删除,但现在它只会发出另一个delete并调用ajax.php
…结果完全取决于该php页面
当该ajax请求完成时,会对该ajax请求进行回调,每个请求在这方面都是独立的,因此每个回调都是单独处理的
sender
位于当前闭包中,因此对于每个请求及其各自的回调,它也是唯一的。每次调用click
处理程序时,都会创建一个单独的闭包,因此每个AJAX回调都会引用正确的变量
因此,你不必担心它。(假设服务器可以处理请求)每次调用
click
处理程序时,都会创建一个单独的闭包,因此AJAX回调的每个回调都会引用正确的变量
因此,你不必担心它。(假设服务器可以处理请求)它将触发另一个事件。如果希望事件只触发一次,则可以使用而不是单击。或者,您可以跟踪AJAX请求是否正在进行中;e、 g按如下方式使用:
$(".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请求是否正在进行中;e、 g按如下方式使用:
$(".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;
}
);
您也可以通过使用全局变量、添加类等来实现同样的效果。感谢one function提示^one function提示^^