Javascript 使用窗口对象下载CSV文件

Javascript 使用窗口对象下载CSV文件,javascript,jquery,asp.net,csv,Javascript,Jquery,Asp.net,Csv,我正在尝试创建一个链接,将下载一个CSV文件。我目前的解决方案是监听该链接上的点击事件,然后附加一个隐藏表单,然后提交该表单。我想将窗口对象设置为创建CSV的处理程序的链接。然而,它似乎不起作用,这里是我到目前为止。我对使用任何其他库都不感兴趣 这是用于创建虚拟CSV文件的处理程序代码: else if(action == "exportalldata") { context.Response.Clear(); context.Response.ContentType = "ap

我正在尝试创建一个链接,将下载一个CSV文件。我目前的解决方案是监听该链接上的点击事件,然后附加一个隐藏表单,然后提交该表单。我想将窗口对象设置为创建CSV的处理程序的链接。然而,它似乎不起作用,这里是我到目前为止。我对使用任何其他库都不感兴趣

这是用于创建虚拟CSV文件的处理程序代码:

else if(action == "exportalldata")
{
    context.Response.Clear();
    context.Response.ContentType = "application/csv";
    context.Response.AddHeader("Content-Disposition", "attachment;     filename=yourData.csv");
    context.Response.Write("\"ID\", \"Description\", \"DTA\"\n");
    context.Response.Write("\"\test1\",\"test2\",\"test3\"\n");   
    context.Response.End();    
}
Form方法,当单击该链接时,该事件将触发此事件(该事件有效):

我想做以下工作:

<a id = "exportData" href="javascript:window.location='svc/export.ashx/exportAllData'">Export Variable List</a>


当我这样做的时候,所有发生的事情就是我得到一个空白屏幕,没有CSV文件被下载。如果链接也不会引导用户离开包含链接的页面,那就太好了。我尝试设置target=“\u blank”,但没有成功

我使用jQuery插件解决了这个问题:

你使用一个简单的链接,就像你已经在做的一样,并附加一个点击事件,通过插件触发下载


聪明的机制很详细。

我在类似的回答中确实看到了这一点,但如果可能的话,我对使用其他库不感兴趣。这很公平。您仍然应该测试它;)
<a id = "exportData" href="javascript:window.location='svc/export.ashx/exportAllData'">Export Variable List</a>