You could open a new window and let it handle the saving and redirect instead of doing it in myClickFunction
. The data can be transferred between pages via localstorage
.
So, for example, something like
function myClickFunction(){
window.localStorage.tmpData = JSON.stringify(getData());
window.localStorage.tmpRedirecturl = '...';
window.open('saveandredirect.html);
}
And in saveandredirect.html
$(function(){
$('html').mask('Loading...');
var data = JSON.parse(window.localStorage.tmpData);
var redirecturl = localStorage.tmpRedirecturl;
delete window.localStorage.tmpData; // clear storage
delete localStorage.tmpRedirecturl;
SaveData(data, function(){
window.location = redirectUrl;
$('html').unmask();
});
})