我对回调感到困惑,因为我根本不理解它。我正在使用的API具有类似的ajax函数:
"ajax": function ( method, url, data, successCallback, errorCallback ) {
$.ajax( {
"type": method,
"url": url,
"data": data,
"dataType": "json",
"success": function (json) {
successCallback( json );
},
"error": function (xhr, error, thrown) {
errorCallback( xhr, error, thrown );
}
} );
方法 - 字符串
用于AJAX请求的HTTP方法
url - string
将数据提交到
数据 - 对象
提交给服务器的数据
successCallback - 功能
数据检索成功的回调函数
errorCallback - 功能
关于数据检索错误的回调函数
我不明白的是当我删除successCallback时,事件没有完成。为什么会这样?我已经点击了“success”参数,因为我已经犹豫地运行了ajax请求,那么这里的回调是做什么的呢?我认为“成功”中的任何内容基本上都是在“ajax请求完成后做这些事情”。
由于
答案 0 :(得分:1)
我不确定您指的是什么API,但successCallback
只是一个功能。这意味着它可以做任何事情。回调是一个可执行的代码块,您可以将其作为参数传递。
api.ajax(method, url, data, function (json) {
console.log(json);
}, function (err) {
console.err(err);
});
在ajax请求成功后触发function
方法时,将调用success
。 API为您提供了一种传递自己的自定义代码的方法,该代码在ajax完成时调用。
答案 1 :(得分:0)
在API文档中,successCallback引用设置为success
属性的函数。 success
处理程序是可选的,如果省略,则ajax仍将执行并完成。
您似乎认为必须在成功处理程序中调用名为successFunction
的内容。不是这种情况。你可以把任何你想要的东西放在成功处理程序中,或者什么也不做,或者只是省略它。
为了说明,以下所有内容都是$.ajax
的有效用法:
$.ajax({
"type": method,
"url": url,
"success": function (json) {
}
});
$.ajax({
"type": method,
"url": url,
"success": function (json) {
someFunction(); // providing this exists obviously
}
});
$.ajax({
"type": method,
"url": url
});