2011-12-08 38 views
3

我正在研究可以在Zend Framework表單中使用的表單上傳元素。我試圖讓程序員可以在任何項目中使用它,而無需手動配置任何設置。

該文件由一個AJAX上傳返回像JSON數據上傳:

[ 
    { 
     "name":"image.png", 
     "size":42410, 
     "type":"image\/png", 
     "url":"http:\/\/example.com\/image.png", 
     "thumbnail_url":"http:\/\/example.com\/thumbnail\/image.png", 
    } 
] 

由於上傳者本身是我試圖把這些數據形式等提交的值的表格元素可以從$ _POST中檢索。 我使用名爲uploader-data []的javascript添加隱藏輸入字段(提交表單時),但只允許我在隱藏字段中傳遞1個變量。

所以我想我的問題是:「我怎樣才能將整個數組/對象傳遞給$ _POST /窗體?」。即使我爲上傳器本身使用AJAX,我也不想用它來提交表單。我想要一個包含JSON對象/數組中所有數據的常規表單提交。文件本身已經上傳,但我可能想在我的數據庫或其他地方使用JSON數據。

是否有可能做到這樣的事情?

在此先感謝。

回答

5

使用JSON.stringify 把你的JavaScript值到輸入字段:

data = [ 
    { 
     "name":"image.png", 
     "size":42410, 
     "type":"image\/png", 
     "url":"http:\/\/example.com\/image.png", 
     "thumbnail_url":"http:\/\/example.com\/thumbnail\/image.png", 
    } 
] 
document.getElementById('my_hidden_input').value = JSON.stringify(data); 

這將打開你的陣列在下面的文本值:

[{"name":"image.png","size":42410,"type":"image/png","url":"http://example.com/image.png","thumbnail_url":"http://example.com/thumbnail/image.png"}] 

Zend公司可以解析JSON值到一個PHP數組。

+0

感謝您的回答,我認爲這將對我有用。 – Ilians