javascript - 如何在 Javascript 中打开下载对话框?

标签 javascript jquery .net

我在 Aspx 页面中创建函数并从 java 脚本调用此函数,现在我想通过 Java 脚本下载文件。但是下载对话框打不开......

下载.Aspx:

            string pid = Request.QueryString["Did"].ToString();

            DataTable dt;
            dt = common.GetFilePath(Convert.ToInt64(pid));
            FilePath = dt.Rows[0]["FilePath"].ToString();
            FileName = dt.Rows[0]["FileName"].ToString();
            FilePath = System.Web.HttpContext.Current.Server.MapPath("~//" + FilePath +    "");

            Response.Clear();
            Response.ClearHeaders();
            Response.ContentType = "application/ms-excel";
            Response.AddHeader("content-disposition", "attachment; filename=" + FileName + "");
            Response.WriteFile(FilePath);
            Response.End();

Jquery:

function DownloadAttach(pid){

   $.ajax({ type: "POST",
            url: "http://localhost:1988/DownLoad.aspx?Did=" + pid,
            dataType: "xml",

            processData: true,
            //error: function(XMLHttpRequest, textStatus, errorThrown) { ajaxError(XMLHttpRequest, textStatus, errorThrown); },
            success: function(xml) {

              //ShowMsg("projSaveMsg", "Attachment Deleted.");
            }
        });        

}

最佳答案

您不想为此进行 AJAX 调用 - 只需重定向浏览器:

function DownloadAttach(pid){
     window.location = "http://localhost:1988/DownLoad.aspx?Did=" + pid;
}

关于javascript - 如何在 Javascript 中打开下载对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121027/

相关文章:

javascript - 在 C3js 上,当您将鼠标悬停在条形图上时,如何使条形图上的工具提示显示该条形的数据?

javascript - 在 for 循环中使用 jQuery 更改 div css 值

c# - 在 Internet 中断时继续尝试与服务器通信

c# - 通过WCF数据服务和LINQ保存数据时,InvalidOperationException“类型为'Y'的对象的成员'X'的值已更改。”

javascript - 作为 native 应用程序运行的 iPhone 网络应用程序

javascript - 它不适用于带有 Parsley.js-2.0.0-rc4 的 data-parsley-mincheck ="2"

javascript - 如何在一个 observable 中保持可观察链在 http 错误之后继续运行

javascript - JsTree检查节点

javascript - 根据某些规则阻止 Jquery 中的提交按钮

c# - List<List<string>> 上的 Linq 计数组