一般上檔案下都會使用
window.location.href='xxx' //檔案路徑或者 後台介面地址
但有時候要傳遞參數給後台就需要
window.location.href='xxx?name=123&age=234'
如果傳參過多或者傳參長度過大就有點不太合理了
jQuery.download = function(url, data, method){ // 獲得url和data if( url && data ){ // data 是 string 或者 array/object data = typeof data == 'string' ? data : jQuery.param(data); // 把參數組裝成 form的 input var inputs = ''; jQuery.each(data.split('&'), function(){ var pair = this.split('='); inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; }); // request發送請求 jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>').appendTo('body').submit().remove(); };};
$.download('url','data','post' );
此方法通過建立from表單進行類比資料請求進行檔案下載
其中用到了 jQuery ajax - param()
var params = { width:1900, height:1200 };var str = jQuery.param(params);
console.log(str)
width=1680&height=1050 //輸出結果
param() 方法建立數組或對象的序列化表示,具體的去查手冊。