JSFiddle - React, Tailwind, and code Playground
by angstrey
JavaScript
define(["jquery", "helpers/UrlResolver"], function ($, urlResolver) {
"use strict";
var baseUrl = urlResolver.resolveUrl("~/api/");
var serviceHelpers = {
ajaxRequest: ajaxRequest,
queueAjaxRequest: queueAjaxRequest,
formatServiceResponse: formatServiceResponse
};
var requestQueue = $({});
return serviceHelpers;
function ajaxRequest(type, url, data, dataType) { // Ajax helper
var dataToSend = null, options, formDigest;
if (data) {
if ("get" === type) {
dataToSend = data;
} else if (data.toJson) {
dataToSend = data.toJson();
} else {
dataToSend = JSON.stringify(data);
}
}
options = {
dataType: dataType || "json",
contentType: "application/json",
cache: false,
type: type,
data: dataToSend
};
formDigest = $("#__REQUESTDIGEST").val();
if (formDigest) {
options.headers = {
'X-RequestDigest': formDigest
};
}
//var antiForgeryToken = $("#antiForgeryToken").val();
//if (antiForgeryToken) {
// options.headers = {
// 'RequestVerificationToken': antiForgeryToken
// }
//}
return $.ajax(buildBaseUrlByCurrentHost(url), options);
}
function queueAjaxRequest(queueName, type, url, data, dataType, fail) {
var requestInfo = {
key: queueName,
type: type,
url: url,
data: data,
dataType: dataType,
fail: fail,
deferred: new $.Deferred()
};
queueAjaxRequestInternal(requestInfo);
setTimeout(function () {
if (!requestQueue.queue(requestInfo.key).isBusy) {
requestQueue.dequeue(requestInfo.key);
}
}, 100);
return...