我试图在AJAX get请求之后下载excel,但这是不可行的。
所以现在而不是
$.get("downloadExcel", {
'foo': 'bar'
});
我在页面上有一个隐藏的URL,当用户单击模态框上的按钮时,我想使用jQuery UI单击该URL。我将以编程方式修改URL的参数,但我不知道如何使用jQuery加载点击URL,就像用户点击它一样:
<a href="downloadExcel?foo=bar" id="hiddenLink" src="display: none;"></a>
$("#testexcel").dialog({
autoOpen : false,
draggable : false,
resizable : false,
modal : true,
buttons: [{
text: "Download File",
click: function () {
$("#hiddenLink").click(); //this doesn't work
jQuery(this).dialog( "close" );
return true;
}
}]
});
答案 0 :(得分:2)
你不需要这样做。
相反,你可以写location.href = someUrl;
。只要该URL返回相应的标题,浏览器就会显示一个保存对话框,就好像您已手动导航到该URL一样。
答案 1 :(得分:0)
尝试点击隐藏链接更像是一个“黑客”,而不是解决方案,我建议避免它。
相反,您可能希望使用jQuery在页面上创建隐藏的iframe,这样您就可以让用户在停留在同一页面时下载文件。
$('<iframe />', {
src: 'downloadLink.html',
style: 'display:none'
}).appendTo('body');
答案 2 :(得分:0)
由于您已将显示样式设置为隐藏,因此jquery可能无法在页面上找到控件。
尝试将链接包含在显示样式设置为隐藏的div标记内。