我试图在javascript中发出一个请求来调用一个aspx函数,目的是将它返回一个.txt文件作为IE中的另存为对话框(只需要IE支持)。
问题是,我需要Javascript将字符串发送到aspx,然后使用该字符串动态生成.txt文件以发送回来进行保存。
像这样的动态示例,但有一个txt文件:http://www.west-wind.com/weblog/posts/2007/May/21/Downloading-a-File-with-a-Save-As-Dialog-in-ASPNET
我需要向服务器发出什么请求才能将其作为"另存为"提示?
例子太棒了。
答案 0 :(得分:0)
好的,明白了! 所以在这里我们会感兴趣的任何人:
Asp.net服务器(save.aspx文件):
string txtString = Request["txtString"];
Response.Clear();
Response.AppendHeader(
"Content-Disposition",
"attachment;
filename=myFile.txt"
);
Response.ContentType = "application/x-download";
Response.Write(txtString);
Response.End();
感谢这篇文章!!: JavaScript post request like a form submit
使用Javascript:
function saveTxt() {
var myString = getTxtString();
var form = document.createElement("form");
form.setAttribute("method", "POST");
form.setAttribute("action", "save.aspx");
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "jsonString");
hiddenField.setAttribute("value", myString);
form.appendChild(hiddenField);
document.body.appendChild(form);
form.submit();
}