ajax — указан неверный аргумент для foreach () php []

У меня есть этот вар 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) {}

  1. Как проверить, является ли переменная пустой в php, особенно если print_r является []

0

Решение

Ты звонишь JSON.stringify дважды: один раз, когда вы назначаете propertyи позже при добавлении property к FormaData параметр. Поскольку вы декодируете его только один раз в PHP, вы получаете строку, а не массив.

Просто позвони JSON.stringify один раз, когда вы кладете его в formData,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]