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 が提供する他のすべての機能に制限されます。