日付ボックス カレンダーから選択した日付を入力するヘッダー要素があります。
問題は、コンテンツをロードするための AJAX 呼び出しもあり、ロードに 10 ~ 15 秒かかることです。ヘッダー タグを cal date で更新して選択した日付を表示すると、正常に表示されます。現在の AJAX 呼び出しがまだ実行されている場合は停止し、新しい日付を選択して再度呼び出す必要があります。
ブラウザをリロードするだけの location.reload() を使用しています。これにより、ヘッダーの日付が割り当てられたすべてのコードが失われ、AJAX 呼び出しが 2 回読み込まれます。
function reajax() {
$('#roster h1 > span').text(sessionStorage.currentDate);
location.reload();
$('#callback').append('<div id="progress">Loading....</div>');
doRoster("doRoster", localUser, localPwd, localCode, reloadToday);
};
要求された AJAX:
function doRoster(action, xuser, xpwd, xcode, xdate) {
$.get('https://www.xdomain.net/servlet/ServletController?device=stdbrowser&action=Login',
function(data) {
var jaction = "https://www.xdomain.net/servlet/ServletController";
$.post(jaction, { device: "stdbrowser", action: "doLogin", j_username: xuser, j_password: xpwd, j_accessCode: xcode, j_host: jaction }, function(data) {
var jsindex = data.indexOf('initMenu(');
var jsessionid = data.substring(jsindex + 10, jsindex + 48);
var prefix = data.substring(jsindex + 43, jsindex + 48);
var doAction = "https://" + prefix + ".xdomain.net/servlet/ServletController;jsessionid=" + jsessionid + "?action=" + action + "&date=" + xdate;
sessionStorage.jsid = jsessionid;
sessionStorage.jsid_prefix = prefix;
callLogStatus(prefix, jsessionid);
$.get(doAction, function(data) {
var iDivFormat = formatRxxxx(data);
$('#callback').append('<div class="divCal"></div>');
$('#callback .divCal').html(iDivFormat);
$('#progress').remove();
$('#callback .divCal ul').hide();
getRosterSearch();
});
});
});
return
};