我写我的代码如下:传递回调的正确方法是什么?
var MyLib = (function (window, $, undefined) {
return {
URI: 'http://testpage/API/',
OnSuccess: function (data, status) { },
OnError: function (request, status, error) { },
MakeRequest: function (method, args) {
$.ajax({
type: 'POST',
url: this.URI + '/' + method,
contentType: 'application/json; charset=utf-8',
data: args,
dataType: 'json',
success: this.OnSuccess,
error: this.OnError
});
},
GetSamples: function (data1, data2) {
var args = {
data1: data1,
data2: data2
};
this.MakeRequest('GetTestData', JSON.stringify(args));
}
};
} (this, jQuery));
所以,如果我想调用的AJAX调用,我会做:
function OnSuccess(data, status) {
// ...
}
function OnError(request, status, error) {
}
MyLib.OnSuccess = OnSuccess;
MyLib.OnError = OnError;
MyLib.GetSamples("data1", "data2");
我不想改变GetSamples签名因此我选择如上所述来实施它。任何关于这是否是可接受的方法(或如何改进这一点)的建议?
对我来说很不错 – 2012-07-10 06:54:05