鸿蒙app封装 axios post请求失败问题

时间:2024-12-20 07:19:36

这个问题是我的一个疏忽大意,在这里记录一下。如果有相同问题的朋友,可以借鉴。

当我 ohpm install @ohos/axios 后,进行简单post请求验证,可以请求成功。

然后,我对axios 进行了封装。对axios 添加请求拦截器/添加响应拦截器。

对post请求也进行了封装,请求如下:

 return request<T>({
    url: "/user/login/xxxxxx",
    method: "post",
    params: data
  });

当一切都准备好之后,我再次进行post 请求,这次请求失败啦。找了半天也没发现什么问题。

最后,我查看代码编辑的历史记录做对比,发现post参数传递属性配置错了,正确写法如下:

  return request<T>({
    url: "/user/login/xxxxxx",
    method: "post",
    data: data
  });
}

问题出在 data: data  和  params: data 

data和params解释如下:

params: {ID: 12345,Name:"Alex"},   // URL后的参数:.../?ID=12345&Name="Alex"(get请求后要拼接的参数)
data: { firstName: 'Fred'},   // 对象形式的data -> json 格式字符串(post请求的参数)