在javascript中从aspx请求动态.txt文件

时间:2013-02-18 15:21:27

标签: c# javascript asp.net .net

我试图在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

我需要向服务器发出什么请求才能将其作为"另存为"提示?

例子太棒了。

1 个答案:

答案 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();
}