laravel - 无法使用 axios 将带有数组参数的请求从 vue 发布到控制器
问题描述
我正在尝试使用 axios post 将数组从我的 vue 传递到我的控制器。但是,如果我想从请求中获取数据,我不会以数组格式获取它。
我也用一个对象尝试JSON.stringyfy()
过。
我要发送的vue数据
parts: [],
axios 帖子
const config = {
headers: {'content-type': 'multipart/form-data'}
};
let formData = new FormData();
formData.append('title', this.title);
formData.append('description', this.intro);
formData.append('parts[]', this.parts);
formData.append('pictures', this.selectedPictures);
formData.append('options', JSON.stringify(this.options));
valid = true;
if (valid) {
axios.post('/admin/oefeningen/oefening-opslaan', formData, config)
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error.data);
});
}
控制器
public function save(Request $request)
{
try {
//get request info
return response($request->input('parts'));
} catch (\Exception $exception) {
return response($exception->getMessage());
}
}
我正在传递的 Vue 数据
parts = ["sdfsdfsdf", "sdfsdfsdfsfsdf"]
响应结果
sdfsdfsdf,sdfsdfsdfsfsdf (as string, not as array)
附加for循环
let formData = new FormData();
formData.append('title', this.title);
formData.append('description', this.intro);
for (let i = 0; i < this.parts.length; i++) {
formData.append('parts', this.parts[i]);
}
我想在我的控制器中获取确切的数据,就像在我的 vue 组件中一样。就像我可以循环的数组一样。
解决方案
推荐阅读
- visual-studio - UDMF 驱动程序:visual studio 2019:项目属性中没有“部署”选项
- sql - 需要根据原始购买渠道来隔离全渠道客户 - SQL
- python - 如何将具有不同日期格式的 Pandas 列从对象转换为 Datetime 类型?
- apache-spark - 当 --deploy-mode 为集群时,“ImportError: No module named sklearn”
- c++ - 'Car' 的复制构造函数被隐式删除,因为变量字段 'fuelType' 具有非平凡的复制构造函数
- r - 如何在图形边框的最边缘放置刻度线?(ggplot)
- airflow - Airflow 2.0.2 - 尚未创建用户
- elasticsearch - 添加 Elasticsearch 节点,是否需要复制 internal_users.yml 文件和其他配置?
- jupyter-notebook - google-dataproc 不断崩溃并出现错误 504
- seq-logging - 从满足某些条件的请求中获取所有 Seq 日志