Javascript 如何使用axios将图像和文本放入api

Javascript 如何使用axios将图像和文本放入api,javascript,axios,Javascript,Axios,上面的代码导致一个400错误的请求,但是当我在postman中尝试时,它可以工作。所以我认为这是对formdata的滥用,有人能帮上忙吗。顺便说一下,每当我只更新图像时,它就会工作,但一旦我更新了其中一个文本字段,它就不会工作。axios中请求主体参数的名称不是字符串。它们只是字段的名称。因此,您的请求主体实际上应该如下所示:- const fd = new FormData() fd.append('pp', this.state.image)

上面的代码导致一个400错误的请求,但是当我在postman中尝试时,它可以工作。所以我认为这是对formdata的滥用,有人能帮上忙吗。顺便说一下,每当我只更新图像时,它就会工作,但一旦我更新了其中一个文本字段,它就不会工作。

axios中请求主体参数的名称不是字符串。它们只是字段的名称。因此,您的请求主体实际上应该如下所示:-

        const fd = new FormData()
        fd.append('pp', this.state.image)
        fd.append('username', this.state.user.username)
        fd.append('email', this.state.user.email)
        fd.append('bio', this.state.user.bio)
        console.log(this.state.user)
        axios.put(`http://127.0.0.1:8000/users/profile/update/${this.state.id}/`, fd, {
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })

axios中请求主体参数的名称不是字符串。它们只是字段的名称。因此,您的请求主体实际上应该如下所示:-

        const fd = new FormData()
        fd.append('pp', this.state.image)
        fd.append('username', this.state.user.username)
        fd.append('email', this.state.user.email)
        fd.append('bio', this.state.user.bio)
        console.log(this.state.user)
        axios.put(`http://127.0.0.1:8000/users/profile/update/${this.state.id}/`, fd, {
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })

什么是
this.state.image
数据类型?什么是
this.state.image
数据类型?考虑到this.state.image是一个图像,这将起作用。我相信只要您以正确的方式解析api服务器上的数据,它就应该起作用。为什么不试一试呢?你确定这不是你的api本身的问题吗?考虑到this.state.image是一个映像,这行得通吗?我相信只要你以正确的方式解析api服务器上的数据,这应该行得通。为什么不试一试呢?你确定这不是api本身的问题吗?