Ajax リクエストの後にデータを格納するために、グローバルな JavaScript 変数を使用しています。jqueryui datepicker で日付をマークするために使用され、フォームに保存されます。array[date] = type_of_date
これは、配列を計算するために使用している関数です
function get_date_exceptii(data, cod_calendar) {
if(typeof(window.date_zile_ore_modificate) !== 'undefined' && typeof(window.date_zile_nelucratoare) !== 'undefined') {
window.date_zile_ore_modificate.length = 0;
window.date_zile_nelucratoare.length = 0;
}
else {
window.date_zile_ore_modificate = [];
window.date_zile_nelucratoare = [];
}
parametri = 'cod_calendar='+cod_calendar+'&data='+data;
$j.ajax({
url: "proiecte/ajax/colectare_date_exceptii.php?sid="+Math.random(),
type: 'POST',
async: false,
data: parametri
})
.done( function (msg) {
arr_msg = msg.split('[sep1]');
$j.each(arr_msg, function (index, val) {
arr_exceptie = val.split('[sep]');
if(arr_exceptie[1] == 'nelucratoare')
window.date_zile_nelucratoare[arr_exceptie[0]] = arr_exceptie[2];
else {
window.date_zile_ore_modificate[arr_exceptie[0]] = arr_exceptie[2];
}
});
});
console.log(window.date_zile_ore_modificate);
console.log(window.date_zile_nelucratoare);
}
もちろん、2 つのログはデバッグ用です。問題は、コードのそのセクションが実行されても配列がクリアされないことです。私の構文は間違っていますか、それともグローバル変数や配列を誤解していますか?