如果我在javascript中有类似的内容:
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
答案 0 :(得分:1)
您需要将JSON转换为字符串(使用JSON字符串(https://github.com/douglascrockford/JSON-js)并将字符串(作为字段值)POST到PHP脚本,该脚本执行json_decode()
答案 1 :(得分:1)
使用_
或%%
等字符对其进行Concat,然后将其传递给PHP。
在PHP文件中:
$ar = array();
$ar = explode('special_char',string pass from js);
echo "pre";print_r($ar);
echo "/pre";
答案 2 :(得分:0)