这个问题是我的一个疏忽大意,在这里记录一下。如果有相同问题的朋友,可以借鉴。
当我 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请求的参数)