我们有很多小部件,每个小部件都有自己的保存。当我们正在进行页面导航时,我们正在尝试保存每个小部件数据,因此我们几乎要进行10-15个ajax调用。我们尝试了window.onbeforeunload事件,但只有一些ajax调用成功,然后我们关闭异步调用(async:true),但这会导致性能下降。我们可以让异步工作。以下是代码
if ($.browser.mozilla) {
window.onunload = function () {
onunloadSave();
};
} else {
window.onbeforeunload = function () {
onunloadSave();
};
}
function onunloadSave() {
//debugger;
var chckSave = CheckIsSave();
var checkBilling = CheckIsBilling();
// var checkSwitch = CheckLoginSwitch();
if (chckSave == false && checkBilling == false ) {
if ($('#examtypes').val() > 0) {
$.when(saveWidgets()).then(function () {
//dosomething
});
}
}
}`//below will make 10-15 ajax calls
function saveWidgets() {
$('#examArea button[id*=btnSave], #exambar button[id*=btnSave]').click();
}