【发布时间】:2020-11-06 08:21:10
【问题描述】:
我正在尝试通过 Axios 帖子将包含对象的数组传递给 PHP。 我正在使用 formData 来追加或设置数据。
const product_id_list = [{ title: 'hello' }, { title: 'ohhello' }]
const bodyFormData = new FormData();
bodyFormData.append('post_id', post_id)
bodyFormData.append('action', 'uploadShowcaseContent')
product_id_list.forEach((item) => {
bodyFormData.append('product_id_list[]',item);
});
axios.post(`${__WP_VARS.AJAX_URL}`, bodyFormData)
.then((resp) => {
console.log('post respect is', resp)
})
然后在我的 PHP 中,我尝试遍历数组并获取标题字符串。
$content = $_POST['product_id_list'];
$content 变量确实告诉我我有一个数组。 但是,当我对数组进行 foreach 时
foreach ($content as $item) {
echo $item;
}
在我的控制台响应中,我得到 data: "[object Object][object Object]"
当我试图呼应标题时,
foreach ($content as $item) {
echo $item->title;
}
我得到一个空字符串。
我一直在试图弄清楚如何在 PHP 中循环并在通过 AXIOS 传递对象时获取对象键和值。
【问题讨论】:
-
做一个
print_r($_POST['product_id_list']);,这样你就可以看到你正在传递的数组的大小和形状 -
例如,在打开 PHP 标记之后,测试时也将error reporting 添加到文件的顶部。即使您在配置为 LIVE 的服务器上进行开发,您现在也会看到任何错误。
<?php error_reporting(E_ALL); ini_set('display_errors', 1); -
@RiggsFolly 我得到数据:“Array↵(↵ [0] => [object Object]↵ [1] => [object Object]↵)↵1”
-
这就是一切吗?
-
@RiggsFolly。是的,它就是一切,但在 PHP 中,我不确定如何实际获取标题键并获取值。即使我做 $item->title 或 $item['title']