Всплывающее диалоговое окно загрузки может отображаться с помощью
window.location = "someUrl"
или просто иметь ссылку, которая отправляет метод HTTP GET и так далее.Я сделал это успешно.
Но теперь я хочу сделать Ajax с HTTP POST.Тело POST имеет JSON, как
{"val1":"key1", "val2":"key2"}
Затем на стороне сервлета оно читает JSON и выполняет запрос к базе данных, чтобы получить данные, а затем сгенерирует Excel на основе данных запроса.
Часть Iне может заставить его работать на стороне клиента.
Предполагается, что мой сервлет в resources/report/schedule
создает файл Excel.
Это не всплывающее диалоговое окно загрузки при использовании Ajax :( Кто-нибудь может мне помочьиметь диалог загрузки с Ajax?
function post25() {
var jsonInput = {};
jsonInput['作業区コード'] = "481";
jsonInput['機械コード'] = "11";
jsonInput['作業日'] = "2000/01/01";
jsonInput = JSON.stringify(jsonInput);
var ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var res = ajaxRequest.responseText;
//location.href = "../resources/report/schedule";
}
else if(ajaxRequest.status == 409 || ajaxRequest.status == 500 || ajaxRequest.status == 204) {
alert(ajaxRequest.status);
document.getElementById("showMessage").innerHTML = ajaxRequest.responseText;
}
}
ajaxRequest.open("POST", "../resources/report/schedule", true);
ajaxRequest.setRequestHeader("Content-Type", "application/json");
ajaxRequest.send(jsonInput);
}//end post25()