mas*_*san 2 java ajax servlets download
可以显示下载弹出对话框
window.location = "someUrl"
Run Code Online (Sandbox Code Playgroud)
或者只是简单地有一个发送HTTP GET方法的链接等等.我成功完成了这个.
但现在我想用HTTP POST做Ajax.POST主体有JSON之类的
{"val1":"key1", "val2":"key2"}
Run Code Online (Sandbox Code Playgroud)
然后在servlet端,它读取JSON并对DB执行查询以获取数据,然后根据查询数据生成Excel.
我不能让它工作的部分是客户端.
假设我的servlet 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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3785 次 |
| 最近记录: |