javascript - 如何使用 axios 将对象数组发送到 PHP?

标签 javascript php arrays vue.js axios

let dataArray = [
  {
    fname: 'name #1',
    choice: 'choice #1',
  },
  {
    fname: 'name #2',
    choice: 'choice #2',
  },
  // more data could be appended here
];

我的 VueJS 表单中有一个如上所述的数据结构。如何将此数据发送到 PHP 后端并将其保存到数据库中?

到目前为止我的尝试都是徒劳的。我正在使用 axios 将数据发布到 PHP 后端。我尝试过使用 FormData() 和 JSON.stringify 以及在 PHP 端获取数据的各种方法。

据我了解,axios 在内部处理 json 格式。

这是我在应用程序中的数据结构:

data: {
  enteredDataArray: [{
    fname: '',
    radioVal: ''
  }]
}

onSubmit(evt){
  evt.preventDefault();
  axios.post('api.php', app.enteredDataArray)
  .then(res => console.log(res))
  .catch(err => console.log(err))
}

$data = $_POST;

最佳答案

PHP $_POST 需要一个 FormData。

如果你想在 PHP 中接收 JSON,$_POST 不是方法,你可以这样做:

$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, TRUE);
var_dump($input)

关于javascript - 如何使用 axios 将对象数组发送到 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62722243/

相关文章:

php - jQuery JSON 无法正确处理 PHP 脚本

php - FuelPHP ORM 可以处理这种数据库设计吗?

javascript - 在 firebase cloud firestore 中对字段的 CRUD 子项的最佳方法是什么?

java - java中如何在不声明范围的情况下创建String类型数组?

javascript - css 选择带有特定标签的第一个元素

javascript - 单击后意外重复 ajax 调用

Javascript - 简单计数

Javascript 用另一个 If 语句隐藏一个 If 语句

PHP:选择 MySQL 表元素时自动完成输入

c++ - 为什么在将数据从文本文件移动到数组时无法获得正确的输出