有一件事我真的不喜欢jQuery是它的链接。我发现的所有样本都使用这个。那么有没有办法定义ajaxSuccess不使用链接?我已经尝试过,但它不起作用。jQuery ajaxSuccess()事件处理程序
jQuery.ajax({
dataType: "json",
url: this.DIRECTORY_PHP,
data: data,
success: this.handleSuccessEvent
});
有一件事我真的不喜欢jQuery是它的链接。我发现的所有样本都使用这个。那么有没有办法定义ajaxSuccess不使用链接?我已经尝试过,但它不起作用。jQuery ajaxSuccess()事件处理程序
jQuery.ajax({
dataType: "json",
url: this.DIRECTORY_PHP,
data: data,
success: this.handleSuccessEvent
});
的一般注意事项:
$.ajax({ ... }).done(function1).done(function2)
// can be split into :
var ajaxReq = $.ajax({ ... });
ajaxReq.done(function1);
ajaxReq.done(function2);
如果只有handleSuccessEvent
必须在上下文(this
)一个意思,你的例子会工作:“链接”总是可以在disctinct呼叫的连续破。将它替换为现有的和声明的函数名称,并且(as in documentation)它将起作用。
var myFunction = function(data){ /* TODO */ };
jQuery.ajax({
dataType: "json",
url: this.DIRECTORY_PHP,
data: data,
success: myFunction
});
将一个匿名函数赋值给一个变量是完全可选的,并且是为了展示该语法的灵活性而编写的。随意按照这种方法:
function myFunction(data){
/* TODO */
}
jQuery.ajax({
dataType: "json",
url: this.DIRECTORY_PHP,
data: data,
success: myFunction
});
这应该工作得很好。它以什么方式不起作用?我怀疑你正在失去'this'这个上下文,并且假设这是因为ajax请求。 –
你的意思是像一个普通的成功处理程序(全局),或者像上面那样将成功函数传递给AJAX调用? – tymeJV
谢谢大家,我认为问题不在于事件处理程序。我只是添加“错误”处理程序,它的工作原理。对不起,提出一个问题没有太多检查:) –