Javascript 在这种情况下,为什么json_解码产生空值?

Javascript 在这种情况下,为什么json_解码产生空值?,javascript,php,json,Javascript,Php,Json,我创建了一个数组,就像 [{ "assetPreviewUrl":"pic1.jpg", "assetUrl":"pic2.jpg" }, { "assetPreviewUrl":"pic3.jpg", "assetUrl":"pic4.jpg" }] 最好是POSTing我将其字符串化,并将其作为 <input type="hidden" name="slideData" /> 在服务器端,我通过测试发现$slideData为null 我已经核实

我创建了一个数组,就像

[{
    "assetPreviewUrl":"pic1.jpg",
    "assetUrl":"pic2.jpg"
},
{
    "assetPreviewUrl":"pic3.jpg",
    "assetUrl":"pic4.jpg"
}]
最好是
POST
ing我将其字符串化,并将其作为

<input type="hidden" name="slideData" />
在服务器端,我通过测试发现
$slideData
null

我已经核实了

  • 在提交
    表单之前(通过
    console.log($('input[name=“slideData”]').val())
    ),该
    具有正确的
  • $slideData
  • $\u POST['slideData']
    不是空的(通过
    'Was$\u POST[\'slideData\']null?)(!$\u POST['slideData']?'yes':'no'

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

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

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

因为你不是Douglas Crockford,你知道谁发现了JSON,和你是同一个人not@PaulCrovella它是有效的索引,
$\u POST['slideData']
实际包含?使用
var\u dump
对该值进行调试输出。@NotDouglasCrockford,是否将数组值放入输入隐藏值位置。?请将用于将JSON放入隐藏字段的Javascript添加到隐藏字段中。
foreach ($slideData as $val)
    echo "<input type='hidden' name='slideData[]' value='$val' />";
foreach ($_POST['slideData'] as $val)
    echo json_decode($val);