为什么json_decode在这种情况下会产生NULL?

时间:2015-10-02 19:12:09

标签: javascript php json

我有一个我创建的数组

[{
    "assetPreviewUrl":"pic1.jpg",
    "assetUrl":"pic2.jpg"
},
{
    "assetPreviewUrl":"pic3.jpg",
    "assetUrl":"pic4.jpg"
}]

和最佳POST我将其字符串化并将其作为

的值
<input type="hidden" name="slideData" />

但是我一跑完

$slideData = json_decode($_POST['slideData']);

在服务器端,我通过$slideDatanull的测试找到了。

我已经验证了

  • &lt; input type="hidden" name="slideData" />在提交value之前具有正确的form(通过console.log($('input[name="slideData"]').val())
  • $slideData
  • $_POST['slideData']不为空(通过'Was $_POST[\'slideData\'] null ?' . (!$_POST['slideData'] ? 'yes' : 'no'

有什么想法吗?需要更多信息?

1 个答案:

答案 0 :(得分:-1)

看起来您正在将一个值(slideData)设置为json值数组。首先,将数据作为数组发布:

foreach ($slideData as $val)
    echo "<input type='hidden' name='slideData[]' value='$val' />";

然后尝试解码数组中每个值的json:

foreach ($_POST['slideData'] as $val)
    echo json_decode($val);