HarmonyOS 鸿蒙Next ohos axios三方件post请求queryParams参数场景下如何传参

HarmonyOS 鸿蒙Next ohos axios三方件post请求queryParams参数场景下如何传参 三方件@ohos/axios中发起post请求,以queryParams形式传递参数(将参数拼接在URL后)。

2 回复

方式一:使用axios.post接口只接收一个参数,Url.URLSearchParams需要转成字符串拼接在url后面。

let params:Url.URLSearchParams = new Url.URLSearchParams()
params.append('ctl', 'sug')
params.append('query', 'wangjunkai')
params.append('cfrom', '1099a')
axios.post('http://10.100.195.234:3000/save?' + params.toString()).then(res => {
 this.message = "request result: " + JSON.stringify(res.data);
}).catch(err => {
 this.message = "request error: " + err.message;
})

方式二:使用axios接口只接收一个config对象,请求参数写在config对象的params中。

axios({
 url: 'http://10.100.195.234:3000/save',
 method: 'post',
 params: {
  ctl: 'sug',
  query: 'wangjunkai',
  cfrom: '1099a'
 }
}).then(res => {
 this.message = "request result: " + JSON.stringify(res.data);
}).catch(err => {
 this.message = "request error: " + err.message;
})

更多关于HarmonyOS 鸿蒙Next ohos axios三方件post请求queryParams参数场景下如何传参的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,使用axios进行三方件post请求时,若需要在queryParams参数场景下传参,可以通过以下方式实现:

首先,需要明确axios的post请求默认是通过请求体(body)来传递参数的,而不是通过URL的查询字符串(queryParams)。但如果你确实需要将参数作为查询字符串附加到URL上,可以通过修改axios的配置来实现。

具体步骤如下:

  1. 构建查询字符串:使用URLSearchParams或类似方法将你的参数对象转换为查询字符串。

  2. 拼接URL:将构建好的查询字符串附加到请求的URL后。

  3. 发送请求:使用axios发送post请求,但此时不需要在请求体中传递参数,因为所有参数都已在URL中。

示例代码:

const axios = require('axios');
const params = new URLSearchParams({ key1: 'value1', key2: 'value2' });
const url = 'https://example.com/api' + '?' + params.toString();

axios.post(url)
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

注意,这种方法通常用于GET请求,对于POST请求,建议通过请求体传递数据。但如果后端接口明确要求通过URL传递参数,上述方法有效。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部