Javascript Axios,对数据(包括文件和数组对象)发出post请求的正确方法
最近,我在前端React项目中使用Axios。在我必须在服务器中发布以下类型的请求之前,一切都很顺利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
{
"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]);