Javascript Axios,对数据(包括文件和数组对象)发出post请求的正确方法

Javascript Axios,对数据(包括文件和数组对象)发出post请求的正确方法,javascript,reactjs,api,file-upload,axios,Javascript,Reactjs,Api,File Upload,Axios,最近,我在前端React项目中使用Axios。在我必须在服务器中发布以下类型的请求之前,一切都很顺利 { "name": string, "image": <FILE>, "item_ids": [1, 2, 3], } 执行post时的问题是,附加在表单_data的item _id中的数据现在将成为字符串 我浏览了FormData定义,发现它支持以下数据结构: append(名称:strin

最近,我在前端React项目中使用Axios。在我必须在服务器中发布以下类型的请求之前,一切都很顺利

{
     "name": string,
     "image": <FILE>,
     "item_ids": [1, 2, 3],
}
执行post时的问题是,附加在
表单_data
的item _id中的数据现在将成为字符串

我浏览了
FormData
定义,发现它支持以下数据结构:

append(名称:string,值:string | Blob,文件名?:string):void

即,我无法在请求中以列表形式发布我的
内容\u id
。我没有找到任何解决方法来使用Axios发送图像上传,这是我的希望,但当涉及到发送请求密钥中的对象数组时,它将不起作用


是否存在在单个请求中使用Axios支持上述请求有效负载的解决方案。我们将非常感谢您的帮助。谢谢。

尝试将其转换为JSON字符串,然后将其解析到后端。

var item_ids = JSON.stringify([1, 2, 3]);
也许这里的一些答案可以帮助您:

我也做了同样的事情,我必须更新后端的简单逻辑,以便它能够理解即将到来的数据实际上是一个列表。非常感谢。谢谢你的帮助。
form_data = new FormData()
form_data.append('name', <value_for_name>)
form_data.append('image', <value_for_file>, <value_for_filename>)
form_data.append('item_ids', [1, 2, 3]) // value is in Array for sure

axios.post('<som_rest_url', form_data, {
           headers: {
                        'Content-Type': `multipart/form-data`
            }
         })
.then(response=> return response, err => return err)
var item_ids = JSON.stringify([1, 2, 3]);