1

我真的不喜欢 jQuery 的一件事是它的链接。我发现的所有样本都在使用它。那么有没有办法不使用链接来定义 ajaxSuccess?我已经尝试过了,但它不起作用。

jQuery.ajax({
    dataType: "json",
    url: this.DIRECTORY_PHP,
    data: data,
    success: this.handleSuccessEvent
});
4

2 回答 2

3

一般说明:“链接”总是可以在一系列不同的调用中被打破:

$.ajax({ ... }).done(function1).done(function2)
// can be split into :
var ajaxReq = $.ajax({ ... });
ajaxReq.done(function1);
ajaxReq.done(function2);
于 2013-10-28T15:47:23.540 回答
2

如果仅handleSuccessEvent在上下文 ( this) 中有意义,那么您的示例将起作用。将其替换为现有且已声明的函数名称,并且(如文档中所示)它将起作用。

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
});
于 2013-10-28T15:52:12.843 回答