【问题标题】:load url programmatically with jQuery使用 jQuery 以编程方式加载 url
【发布时间】:2016-05-07 05:05:29
【问题描述】:

这是我的previous question的搭载

我试图在 AJAX 获取请求后下载 excel,但是,这是不可行的。

所以现在而不是

$.get("downloadExcel", {  
    'foo': 'bar'
});

我在页面上有一个隐藏的 url,当用户点击 modalbox 上的按钮时,我想使用 jQuery UI 点击它。我将以编程方式修改 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;  
         }
     }]                        
 });

【问题讨论】:

    标签: jquery ajax jquery-ui jquery-ui-dialog


    【解决方案1】:

    你不需要这样做。

    相反,您可以只写location.href = someUrl;。只要该 URL 返回适当的标头,浏览器就会显示一个保存对话框,就像您手动导航到该 URL 一样。

    【讨论】:

      【解决方案2】:

      由于您将显示样式设置为隐藏,jquery 很可能在页面上找不到该控件。

      尝试将链接包装在显示样式设置为隐藏的 div 标记中。

      【讨论】:

        【解决方案3】:

        尝试点击隐藏链接更像是一种“破解”而不是解决方案,我建议避免这样做。

        相反,您可能希望使用 jQuery 在页面上创建一个隐藏的 iframe,这将允许您让用户在同一页面上下载文件。

        $('<iframe />', {
            src: 'downloadLink.html',
            style: 'display:none'
        }).appendTo('body');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多