2011-06-30 48 views
2

如果我有,在JavaScript中,是這樣的:如何從JavaScript傳遞對象數組到PHP

entriesObj1 = new Object(); 
entriesObj1.entryId = "abc"; 
entriesObj1.mediaType = 2; 
entriesObj2 = new Object(); 
entriesObj2.entryId = "def"; 
entriesObj2.mediaType = 1; 

var entries = new Array(); 

entries[0] = entriesObj1; 
entries[1] = entriesObj2; 

什麼是傳遞它通過HTTP POST到PHP的最佳方法是什麼?

我試過了一個jQuery插件將數組轉換爲JSON。我試圖創建多個名爲「entries []」的隱藏字段,每個字段都帶有JSON字符串。不知何故,我似乎無法解碼我的數據與PHP的json_decode

編輯: 我試圖改變習慣的一個@Michal的JSON插件的指示,我得到的結果都是一樣的:

的Javascript

[ 
    {"disciplina":"sdfsdfsdfsd","titulo":"sdfsdfsdf","componentes":"Bloco Completo"}, 
    {"disciplina":"sdfsdfsdfsd","titulo":"sdfsdfsdf","componentes":"Bloco Completo"}  
] 

PHP Vardump:

string(756) " 
[ 
    {\"disciplina\":\"sdfsdfsdfsd\",\"titulo\":\"sdfsdfsdf\",\"componentes\":\"Bloco Completo\"}, 
    {\"disciplina\":\"sdfsdfsdfsd\",\"titulo\":\"sdfsdfsdf\",\"componentes\":\"Bloco Completo\"} 
] 
"

當我使用PHP的json_decode時,我得到NULL。

var_dump(json_decode($_REQUEST['entries'])); 

輸出:

NULL
+1

你能發表你試過的代碼嗎? – Dogbert

+1

還請將JavaScript編碼的字符串結果發佈到JSON。 – shanethehat

+0

你可以看看我的編輯?謝謝 –

回答

0

好,麻煩似乎與在郵遞傳遞的報價,所以我只是換成開弦引號我的$ _REQUEST。

1

的毗連它使用如_%%一些字符然後將它傳遞到PHP。

在PHP文件:

$ar = array(); 
$ar = explode('special_char',string pass from js); 
echo "pre";print_r($ar); 
echo "/pre"; 
+0

謝謝,我會嘗試這是我的JSON機會被剔除 –