当前位置: 首页 > 知识库问答 >
问题:

Axios,正确的方式,使一个post请求的数据,包括文件和数组对象

方韬
2023-03-14

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

{
     "name": string,
     "image": <FILE>,
     "item_ids": [1, 2, 3],
}
<Form onSubmit='<function_that_handles_posting>'>
    <Form.Group controlId="name">
        <Form.Control type="text" />
    </Form.Group>
    <Form.Group controlId="image">
        <Form.File />
    </Form.Group>
    <Form.Group controlId="list-input">
        // while posting the record, the data from here (comma separated data) is populated to an Array of
        <Form.Control type="text" />
    </Form.Group>
</Form>
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)

我不能在请求中将我的content_ids作为列表发布。我没有找到任何使用Axios发送图像上传的解决方案,这是我的希望,但当涉及到在请求的关键字中发送对象数组时,它就不起作用了。

是否有任何解决方案在单个请求中使用Axios支持上述请求有效负载。如有任何帮助,我们将不胜感激。谢谢你。

共有1个答案

聂翼
2023-03-14

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

var item_ids = JSON.stringify([1, 2, 3]);

也许这里的一些答案可以帮助您:将数组追加到FormData并通过AJAX发送

 类似资料:
  • axios请求点击控制器上的url,但将空值设置到POJO类中,当我使用chrome中的开发人员工具时,有效负载包含数据。我做错了什么? Axios POST请求: 浏览器响应: 过帐多部分/表单数据时出错。Content-Type标头缺少边界 谁能解释一下如何设置边界或者我如何使用Axios发送表单数据。

  • 我有一个应用程序,我想打包成一个文件,但遇到了选项的问题,包括html、js和css文件。运行(当然,在将各个数据文件的路径和所需路径添加到.spec文件的中的后,该过程工作正常。 我尝试了这个问题中提出的解决方案,但打包后返回了一个错误。此外,如果不包含这个答案所建议的代码,那么打包到一个文件就可以很好地工作,再次丢失了我需要的html、js和css。 有人在pyinstaller 3.1中遇到

  • 我试图找到使用httr包通过R连接Appannie的API的方法(根本没有API连接的经验)。API要求包含来自appannie网站的请求标题引用:注册App Annie帐户并生成API密钥。将此密钥添加到您的请求标头中,如下所示: 授权:持有人“”引用 我写了这样的代码 命令http_status(getdata)显示我"客户端错误:(401)未经授权"有人能帮我吗,我做错了什么?

  • 我尝试在vue中使用axios post实现注销功能。我将jwt添加到请求头中,但它被视为参数。在另一个函数中,我实现了axios post方法,它可以正常工作。有人能帮忙吗?代码如下: 当我看到网络时,在方法的中有字段,它成功了。但是在方法的中没有字段,在参数中可以找到,它看起来像: 响应表示状态代码为400的错误。

  • 出身背景 我将React Native中内置的应用程序连接到REST API。我通过Axios处理请求,并使用Redux存储查询结果。我有一个api连接的index.js文件,它保存了作为请求处理程序的函数,这些请求需要越来越深的授权级别。我有一个简单的函数返回访问令牌,这是由以下代码触发,当前位于应用程序的“欢迎页面”。 理想情况下,在浏览几个屏幕后,用户将进入主页并触发以下代码: 到目前为止,

  • 我试图发送一个帖子请求到一个php文件,该文件有帖子数据和文件上传,这里是我发送的内容,设置标题的代码,我有的php文件,以及我从php中得到的东西file:([图像文件内容]是我正在发送的图像文件二进制数据的占位符) 我的问题是_POST //我正在向服务器发送的数据: 对于我的标题,我有: php文件: php文件的结果: