2012-11-19 40 views
1

這是從我的previous question負載網址編程與jQuery

我試圖下載一個excel的AJAX後得到的請求,然而,這是不可行的搭載。

因此,現在的

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

我有一個像我想點擊使用jQuery UI當用戶點擊modalbox一個按鈕,在頁面上隱藏的網址。我會修改URL參數編程,但我不知道該如何作爲,如果用戶在點擊它加載點擊使用jQuery的網址:

<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; 
     } 
    }]       
}); 

回答

2

您不必這樣做。

相反,你可以只寫location.href = someUrl;。只要該URL返回適當的標題,瀏覽器就會顯示一個保存對話框,就像您手動導航到該URL一樣。

+0

多數民衆贊成真棒。談論思考問題...謝謝! – birdy

0

嘗試點擊隱藏鏈接更多的是一種「黑客」不是一個解決方案,我會建議避免它。

相反,你可能想使用jQuery來創建頁面,這將允許您讓用戶下載一個文件,而在同一個頁面上停留在隱藏的iframe。

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

由於您已將顯示樣式設置爲隱藏,所以很可能是jquery無法在頁面上找到控件。

嘗試包裝具有顯示樣式設置爲隱藏div標籤中的鏈接。