(function () { window.webapi = { safeAjax: function (ajaxOptions) { var deferredAjax = $.Deferred(); if (!window.shell || !shell.getTokenDeferred) { deferredAjax.reject('Shell não disponível'); return deferredAjax.promise(); } shell.getTokenDeferred() .done(function (token) { ajaxOptions.headers = ajaxOptions.headers || {}; ajaxOptions.headers["__RequestVerificationToken"] = token; $.ajax(ajaxOptions) .done(function (data, textStatus, jqXHR) { deferredAjax.resolve(data); }) .fail(deferredAjax.reject); }) .fail(deferredAjax.reject); return deferredAjax.promise(); } }; })();