我需要在客户端的文件中写入一个字符串,但是由于 Internet 协议出于安全考虑不允许这样做,因此这是我所做的解决方法:我有一个 AJAX 请求,它调用一个查询数据库以获取一个 JSP细绳。我需要向用户显示“另存为”对话框并将此字符串写入他们指定的本地路径。
我的 JavaScript 函数:
function openReport(id)
{
var url = "../reports/reportsHandler.jsp?id=" + id;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//alert(xmlhttp.responseText);
alert("result obtained");
}
}
xmlhttp.open("POST", url, true);
xmlhttp.send();
}
在 JSP 中,我有这样的东西:
response.setHeader("Content-Disposition", "attachment;filename=report.xml");
out.println(stringObtainedFromDatabase);
当我收到提示说结果已获得时,我没有看到“另存为”对话框。这是我第一次这样做,如果我做错了什么,你能告诉我吗?
但是,JavaScript 中有没有办法向用户显示另存为对话框并将“div”标签的内容写入客户端系统上的文件中?