improve global ajax event handling

This commit is contained in:
glaszig 2019-08-06 22:41:29 +02:00
parent da69d3d768
commit 752e8ccf66
1 changed files with 11 additions and 10 deletions

View File

@ -160,7 +160,14 @@ function setupBtns() {
}); });
} }
function updateCSRFToken(xhr, settings) { function setCSRFTokenHeader(event, xhr, settings) {
var csrfToken = $('meta[name=csrf_token]').attr('content');
if (/^(POST|PATCH|PUT|DELETE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRF-Token", csrfToken);
}
}
function updateCSRFTokens(event, xhr, settings) {
var newToken = xhr.getResponseHeader("X-CSRF-Token"); var newToken = xhr.getResponseHeader("X-CSRF-Token");
if (newToken) { if (newToken) {
$('meta[name=csrf_token]').attr('content', newToken); $('meta[name=csrf_token]').attr('content', newToken);
@ -168,15 +175,9 @@ function updateCSRFToken(xhr, settings) {
} }
} }
$.ajaxSetup({ $(document)
beforeSend: function(xhr, settings) { .ajaxSend(setCSRFTokenHeader)
var csrfToken = $('meta[name=csrf_token]').attr('content'); .ajaxComplete(updateCSRFTokens);
if (/^(POST|PATCH|PUT|DELETE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRF-Token", csrfToken);
}
},
ajaxComplete: updateCSRFToken
});
$().ready(function(){ $().ready(function(){
pageCurrent = window.location.href.split("?")[1].split("=")[1]; pageCurrent = window.location.href.split("?")[1].split("=")[1];