2013-10-13 89 views
-1

大家好,我正在製作一個網站。它可以使用jquery生成一個MS excel文件並下載。問題是我希望這個生成的文件可以作爲附件發送到使用php的電子郵件中,所以首先我怎樣才能將生成的文件傳遞給php?使用jquery生成一個文件,並將其傳遞給php

以下簡化的代碼說明了我的JavaScript代碼:

$(document).ready(function() { 
$("#excelExport").click(function() { 

    var fileexample;//file declaration before generation 

    ....//generate the file 

    fileexample.click();//download the file 

    return fileexample; 
});}); 

我已經嘗試了一些方法來解決這個問題,如下,只是一個參考:

  1. 通過使用jquery的fileexample可變ajax POST請求到php服務器,但它不能工作。它只能在傳遞像字符串這樣的普通變量時工作。

  2. 將javascript代碼和php代碼放在一起放在一個php文件中。但我不知道如何在php代碼中調用javascript fileexample變量。

  3. 將javascript代碼和php代碼放在一起,並使用php生成MS excel文件。但是,如何在php代碼中調用像JavaScript一樣的document.getElementById(「XXX」)變量。

希望有人能幫助我,非常感謝提前。

+0

所以這個文件是一個數據uri? – Musa

+1

這裏的代碼幾乎不做任何事,它所做的不會做你所說的事情。你想從我們那裏得到什麼? – 2013-10-13 20:29:02

+0

@Musa該文件不是數據uri。代碼創建了一個臨時HTML鏈接元素,存儲數據並將其生成爲MS excel文件 – barry963

回答

-1

從標題,做它一個庫,從谷歌發現來看,可能是

http://excelbuilderjs.com/

因爲它是很好的第一頁上闡述的主要原因這樣做是避免接觸服務器。否則,沒有很好的理由在客戶端上創建一個excel,然後將其發送到您的服務器。

關於你的方法,

1.You可以張貼在客戶從JS創建服務器jQuery ajax post to web service

2.It XML數據是不可能的調用JS代碼在PHP。 Javascript在客戶端執行,php在服務器端執行。你只能準備在客戶端執行的js,在服務器端的php代碼中執行。

3.這可能是朝着正確的方向。在服務器端使用php準備xls文件,並通過訪問頁面或通過ajax調用js提供給php調用。然後,您可以允許從生成的php頁面下載文件,或者通過js作爲對ajax調用的響應。

+0

thx,我想通過你的想法來解決問題 – barry963

+0

也是一篇非常不錯的文章,有點古老,但給出了很好的說明https://hacks.mozilla.org/2012/02/saving-images-and-files-in -localstorage/ – melc

+0

我通過將原始數據傳遞給php端並在服務器端生成文件來解決該問題,thx再次 – barry963

相關問題