如果我必须利用 jQuery AJAX API 的优点并为每个 ajax 调用设置我自己的自定义设置,我的应用程序如下所示:
假设我有一个页面,该页面通过对某些 API 进行 ajax 调用来显示表中的员工信息。
define(["jQuery"], function($) {
var infoTable = function (options) {
function init() {
// Provide success callback
options.success_callback = "renderData";
getData();
}
function renderData() {
// This callback function won't be called as it is not
// in global scope and instead $.ajax will try to look
// for function named 'renderData' in global scope.
// How do I pass callbacks defined within requirejs define blocks?
}
function getData() {
$.ajax({
url: options.apiURL,
dataType: options.format,
data: {
format: options.format,
APIKey: options.APIKey,
source: options.source,
sourceData: options.sourceData,
count: options.count,
authMode: options.authMode
},
method: options.method,
jsonpCallback: options.jsonpCallback,
success: options.success_callback,
error: options.error_callback,
timeout: options.timeout
});
}
}
return {
init: init
}
}
我如何实现这一目标?
我知道我们可以将 JSONP 请求用作 require 调用,但这限制了我使用 jsonp、发出 GET 请求和 $.ajax 提供的所有其他功能。