Axios发送请求时params和data的区别

Axios发送请求时params和data的区别

简单来说:

params 的方式。会将参数加到 url后面。所以,传递的都是字符串。无法传递参数中含有json格式的数据(我某个参数的数据是json格式)。

data 的方式,是添加到请求体(body)中。然后如果你的数据有 json 格式。也是可以的。

格式:我这是json格式的数据,但是params的方式会把json格式转为string进行传值

let params = {
        todoItemStartTime: this.queryParams.todoItemStartTime,
        todoItemEndTime: this.queryParams.todoItemEndTime,
        handleStartTime: this.queryParams.handleStartTime,
        handleEndTime: this.queryParams.handleEndTime
      };

     //判空
      if (JSON.stringify(params) != JSON.stringify({}))
        this.queryParams.postParams = params;

img

因为params是添加到url的请求字符串中的,主要用于get请求。我这里根据特殊需求。用在post上

img

而data是添加到请求体(body)中的, 用于post请求。

img

我的后端写法是这样的:

img

BizTodoItem 中接收了一个

/**
     * 请求参数(Get)
     */
    private Map<String, Object> getParams;
    
/**
 * 请求参数(Post)
 */
private Map<String, Object> postParams;

这两种。

public void setGetParams(String getParams) {
        this.getParams = JSON.parseObject((String) getParams, Map.class);
    }

public void setPostParams(LinkedHashMap<String, Object> postParams) {
        this.postParams = postParams;
    }

这里,我需要使用 postParams;需要获得json格式。所以需要使用 data进行传值;

然后因为特殊需要。前端统一接收分页参数的工具类使用的getParameter的方式。进行接收分页数据。所以。我使用params进行传递 分页的数据。(我写懒了,上面也是为了展示params和data方式的区别。params里面应该只写分页数据的)
img

img

img

然后在startPage()中接收 分页数据;使用了getRequest().getParameter(name),的方式进行获取数据。getParameter 所以需要使用 params的传值方式。

正则表达式通配符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vbbFt5lQ-1639623126791)(C:\Users\18707\AppData\Roaming\Typora\typora-user-images\image-20211027112014110.png)]

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: axios请求参数中的dataparams是两种不同的参数。其中data用于POST、PUT、PATCH等需要传输数据体的请求方法,params则用于GET、DELETE等不需要传输数据体的请求方法。data是一个对象,包含需要传输的数据信息,而params则是一个键值对,用于传递URL查询字符串参数。 ### 回答2: axios是一款基于Promise的轻量级HTTP客户端,用于发送HTTP请求,支持现代浏览器和Node.js环境中使用。 axios请求参数主要包括dataparams。两者的区别在于传递方式不同。 data用于发送POST请求携带的数据,数据以键值对(key-value)的形式传递,后端可在请求体中获取数据并进行处理。一般情况下,data可传递参数对象、FormData对象以及Blob对象。其中,FormData对象可用于上传文件,Blob对象可用于上传二进制数据。 params用于发送GET请求的查询参数,数据以键值对(key-value)的形式传递。在发送GET请求,参数可以作为查询字符串的一部分,如: ``` axios.get('/api/users', { params: { firstName: 'John', lastName: 'Doe', age: 25 } }) ``` 这将向/api/users请求发送一个GET请求,查询参数为?firstName=John&lastName=Doe&age=25。后端可在请求的query中获取查询参数并进行处理。 总体来说,dataparams的作用有些类似,都是用于传递数据,但两者的使用场景和传递方式不同。正确的使用方式能够使代码结构更加健壮可靠。 ### 回答3: axios是一个流行的JavaScript库,用于在浏览器和Node.js中进行HTTP请求。它提供了两个参数用于发送请求dataparams。这两个参数都是用于请求数据的,但有着不同的用途。 1. data data参数用于在请求体中添加数据。当我们使用POST、PUT和PATCH方法,我们需要在请求体中向服务器发送数据。这些数据可以是一个JavaScript对象、Buffer、FormData、ArrayBuffer等类型的数据。 例如: ``` axios.post('/api/users', { name: 'John', age: 30 }) .then(response => console.log(response.data)) .catch(error => console.log(error)); ``` 在这个例子中,我们向服务器发送一个POST请求请求URL为'/api/users',并且我们通过data参数发送了一个包含'name'和'age'键值对的JavaScript对象。服务器可以从请求体中获取到这些数据。 2. params params参数用于向URL中添加查询参数。当我们使用GET请求,我们需要在URL中添加查询参数,发送数据给服务器。这些参数是包含键值对的对象,键是查询参数名,值是查询参数值。 例如: ``` axios.get('/api/users', { params: { name: 'John', age: 30 } }) .then(response => console.log(response.data)) .catch(error => console.log(error)); ``` 在这个例子中,我们向服务器发送一个GET请求请求URL为'/api/users',并且我们通过params参数发送了一个包含'name'和'age'键值对的JavaScript对象。这将把查询参数添加到URL中,最终URL将是'/api/users?name=John&age=30'。服务器可以从查询参数中获取数据。 总结一下,axios的'data'参数用于POST、PUT和PATCH请求,用于向请求体中添加数据,而'params'参数用于GET请求,用于向URL中添加查询参数。正确使用这两个参数可以帮助我们更好地与服务器进行通信,并获取我们所需的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YD_1989

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值