複数のAjaxテンプレート向け並列ランタイムトランザクション¶
1つの一次テンプレート内で複数の二次的なAjaxテンプレートを使用する場合、並列ランタイムトランザクションを実行できるようにするスニペットを作成する必要があります。
- 新規にスニペットを作成 します。
- 下のコードをコピーしてスニペットに貼り付けます。
<script>
Flamingo.Ajax.jQuery = (function(self, $) {
self.prefilter = function(successCb, errorCb) {
return function(options, originalOptions, jqXHR) {
jqXHR.options = options;
jqXHR.originalOptions = originalOptions;
var originalSuccess = originalOptions.success || options.success;
var originalError = originalOptions.error || options.error;
options.success = successCb || function(data, dataType, jqXHR) {
if (jqXHR.responseText) {
Flamingo.Ajax.processHTMLString(options.url, jqXHR.responseText, function(res) {
originalSuccess && originalSuccess(res);
});
} else {
originalSuccess && originalSuccess(data);
}
};
options.error = errorCb || originalError;
};
};
self.catchAjaxRequests = function(successCb, errorCb) {
$.ajaxPrefilter(Flamingo.Ajax.jQuery.prefilter(successCb, errorCb));
};
return self;
})(Flamingo.Ajax.jQuery || {}, jQuery);
Flamingo.Ajax.jQuery.catchAjaxRequests();
</script>
- 複数のAjaxテンプレートを使用したいと思っているページにあるBODYタグの前にこの スニペットを呼び出し ます。