Всем привет, столкнулся с такой проблемой. Не получается обработать массив объектов в php
По коду видно, что я передаю массив объектов в formData и отправляю formData в php. Но у меня не получаеться обработать его в php и отправить на почту адекватное сообщение. То есть все значения формы отправляются а объект нет. Подскажите как отработать массив объектов в php
const formData = new FormData(form); formData.append('order', JSON.stringify(productArray));
if (error === 0) {
const formData = new FormData(form);
formData.append('Заказ', JSON.stringify(productArray));
if (error === 0) {
postData('./mailer/smart.php', formData)
.then(res => {
form.reset();
})
.catch((error) => {
console.log(error);
})
};
};
$prod = ''
foreach ($myArray -> $items as $item) {
$title = $item['title'];
$price = $item['price'];
$fullPrice = $item['fullPrice'];
$prod = '
<tr>
<td style="padding: 10px; border: 1px solid #e9e9e9">'.$title.'</td>
<td style="padding: 10px; border: 1px solid #e9e9e9">'.$price.'</td>
<td style="padding: 10px; border: 1px solid #e9e9e9">'.$fullPrice.'</td>
</tr>
'
}```
Ответы (1 шт):
Автор решения: Sliva
→ Ссылка
Вы отправляете JSON массив объектов. Для начала вам необходимо декодировать JSON:
$prod = ''
foreach (json_decode($myArray->$items) as $item) {
$title = $item['title'];
$price = $item['price'];
$fullPrice = $item['fullPrice'];
$prod = '
<tr>
<td style="padding: 10px; border: 1px solid #e9e9e9">'.$title.'</td>
<td style="padding: 10px; border: 1px solid #e9e9e9">'.$price.'</td>
<td style="padding: 10px; border: 1px solid #e9e9e9">'.$fullPrice.'</td>
</tr>
'
}