Javascript Axios在控制器返回对象中发送formData

Javascript Axios在控制器返回对象中发送formData,javascript,laravel,vue.js,vuejs2,axios,Javascript,Laravel,Vue.js,Vuejs2,Axios,//Vuejs2 //拉维7.x版 我求助于你,因为我在阻碍,我找不到解决办法。 我想在控制器中恢复对象中的数据。 在我看来,我做了一个axios贴子 data() { return { customer: { name: 'abc', login: 'def' }, file: null } },methods: {

//Vuejs2 //拉维7.x版

我求助于你,因为我在阻碍,我找不到解决办法。 我想在控制器中恢复对象中的数据。 在我看来,我做了一个axios贴子

     data() {
        return {
          customer: {
             name: 'abc',
             login: 'def'
          },
          file: null
        }
    },methods: {
        submit(){
            let formData = new FormData();
            formData.append("customer", this.customer);
            formData.append("file", this.file);

            axios.post('/project/new',
                        formData, {
                            headers: {
                                "Content-Type": "multipart/form-data"
                            }
                        }).then(data => {
                        console.log(data.data);
                    });
        }
    }
我在我的控制器中收集这样的数据

public function postProject(Request $request)
{
    return $request->customer;  //return [Object Object]
    return $request->customer->name;  //return Trying to get property 'name' of non-object
    return $request->customer['name']; //return Illegal string offset 'name'
    return $request->file;  //return [Object Object]
}

谢谢你的帮助。祝您愉快。

您不能使用
.append
将对象添加到FormData中

查看该方法时,只接受USVString或Blob作为值。其他的一切都是一丝不苟的

Javascript中标准对象的字符串表示是
[object object]


您可以尝试
JSON.stringify(this.customer)
将其转换为JSON表示。

尝试$request->get('customer')或$request->input('customer')

我非常感谢您!终于成功了!另一个快速问题是,如果我发送文件,是否需要JSON.stringify?要发送文件,必须将
File
类的实例传递给FormData