axios发送请求post,如何在body中放入一个纯纯的字符串

当使用axios进行POST请求时,若不设置Content-Type为application/json,后端可能接收到异常数据。原因是axios默认的Content-Type为application/x-www-form-urlencoded,与后端期望的application/json格式不符。解决方法是显式设置请求头,确保数据以JSON格式发送。
摘要由CSDN通过智能技术生成
export function removeBatchVideoByIds(videoIds) {
    return request({
        url: `/vod/video/removeBatchVideoByIds`,
        method: 'post',
        data: videoIds,
        headers: {
            'Content-Type': 'application/json; charset=utf-8'
        }
    })
}

试过了,如果不加这个headers,后端接收到的参数莫名其妙在字符串后面多了个‘=’号 

@PostMapping(value = "removeBatchVideoByIds")
public R removeBatchVideoByIds(@RequestBody String videoIds) {
    return vodService.removeBatchVideoByIds(videoIds);
}

原因分析:

后端接收 context-type:application/json。
前端axios的POST请求默认 context-type:application/x-www-form-urlencoded。
因此双方的格式不同!
前端axios的POST请求默认是以键值对形式传递,前端内容是存储在key中,value为空。
后端获取数据的时候,value为空,内容就变成了key=。
 

 同时还有其他的解决方式

可以参考这篇文章

编程兵人杜某

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue项目创建接口用来接受axios发送POST请求,需要进行以下步骤: 1. 在Vue项目安装axios库。可以使用npm命令进行安装:`npm install axios --save`。 2. 在Vue项目的main.js文件引入axios库,并挂载到Vue实例上: ``` import axios from 'axios' Vue.prototype.$http = axios ``` 这样就可以在Vue组件使用`this.$http`来发送HTTP请求。 3. 在Vue组件定义一个方法,用来发送POST请求。可以使用axios库的`post`方法来发送POST请求,并在请求递数据。下面是一个示例代码: ``` methods: { postData() { const data = { name: 'John', age: 30 } this.$http.post('/api/data', data) .then(response => { console.log(response.data) }) .catch(error => { console.log(error) }) } } ``` 在上面的代码,使用`this.$http.post`来发送POST请求请求的URL为`/api/data`,请求的数据为一个包含名字和年龄的对象。 4. 在后端代码,创建一个路由,用来接受POST请求。具体的创建方式,可以参考前面的回答,这里不再赘述。 5. 在路由处理函数,使用req.body来获取POST请求的数据,并返回相应的结果。以下是一个使用Node.js和Express框架创建接口的示例代码: ``` const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); app.post('/api/data', (req, res) => { const data = req.body; // 处理POST请求的数据 res.send('接收到POST请求'); }); app.listen(3000, () => { console.log('服务器已启动'); }); ``` 在上面的代码,使用body-parser间件来解析请求体,使用`req.body`来获取POST请求的数据,并返回一个字符串"接收到POST请求"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值