我在UI部分中有这个var property
而且我做了
var property = JSON.stringify(valueToPush1);
打印[]
所以我知道它是空的我仍然通过我的php中的ajax将该值发送到php
$property = ($_POST['property']);
$jsonproperty = json_decode(stripslashes($property), true);
我仍然检查属性是否为空,所以我做
print_r($jsonproperty);
并且ajax响应与此[]
所以我做的是避免Invalid argument supplied for foreach()
我检查变量是否为空如果为空我将不会继续。我按照下面的方式进行检查。
if (!empty($jsonproperty)) {
foreach($jsonproperty as $value) {}
}
但我仍然在行Invalid argument supplied for foreach() in
foreach($jsonproperty as $value) {}
print_r
为[]
答案 0 :(得分:1)
您正在拨打JSON.stringify
两次:一次分配给property
时,以及稍后将property
追加到FormaData
参数时。由于您只在PHP中解码一次,因此您将获得字符串,而不是数组。
当您将JSON.stringify
放入formData
时,只需致电a
。