Jquery ajax請求導出Excel表格

直接貼代碼吧ajax

$("#btn-export").click(function(){
    var exportExcel = "export_excel";
    dataParams[exportExcel] = 1;
    var params = $.param(dataParams);
    var url = host+"&"+params;
    $('<form method="post" action="' + url + '"></form>').appendTo('body').submit().remove();
    delete dataParams[exportExcel];
});

 

簡單說明一下:json

使用情形:ajax請求服務端,返回json數據,出現的新需求是要把返回的json導出爲excel表格。服務器

上述代碼中,dataParams爲ajax的請求參數,是在前面定義的Object類型的對象,由於請求參數不固定,因此將請求參數都放到對象裏面了。app

咱們知道,ajax請求服務器,是不能返回excel表格的(這個我不肯定,若是讀者有辦法導出,請帖出辦法,咱們共同窗習),咱們須要把請求轉換爲頁面請求,即轉換爲form表單發送請求,這樣就能夠把數據導出爲表格了,也就有了下面的代碼:post

$('<form method="post" action="' + url + '"></form>').appendTo('body').submit().remove();

爲了保證頁面的乾淨整潔,在發送完請求後,將本次提交請求的form表單從頁面中移除。學習