node.js - 如何在 nodejs 中查看通过 axios 发送的地址?
问题描述
我正在尝试使用 nodejs 中的 axios 将参数发送到 Web API。这是我尝试使用的代码片段:
const app = require('axios');
app.get("https://api.somedomain.com/v1/", {
headers: {
Param1: 'value1',
Param2: 'value2',
Param3: 'value3'
}
})
.then((res) => {
console.log("Executing 'then' block"); // never executes
})
.catch((err) => {
if (err.response) {
console.log(`response.status: ${err.response.status}`);
} else if(err.request) {
console.log(`request.status: ${err.request.status}`);
}
})
当我执行上述操作时,我总是从 catch 块中获得响应代码 400。
所以我的问题是:
我可以显示发送到 Web API 的字符串吗?看起来像这样的输出:
https://api.somedomain.com/v1/?Param1=value1&Param2=value2&Param3=value3
抱歉,如果这看起来很幼稚,但我已经能够让一个 get 检索一个我将用来发送第二个 get 的 URL。第一个 get 工作,我有 URL。第二个总是给我 400 响应。(或者,是不是因为我对 app 对象执行了一个 get 请求,而我没有清理 app 对象为下一个 get 请求做准备?)
提前感谢您的回复。
彼得
解决方案
在 axios 配置中从 更改headers
为:params
const app = require('axios');
app.get("https://api.somedomain.com/v1/", {
params: { // HERE IS THE CHANGE!
Param1: 'value1',
Param2: 'value2',
Param3: 'value3'
}
})
.then((res) => {
console.log("Executing 'then' block"); // never executes
})
.catch((err) => {
if (err.response) {
console.log(`response.status: ${err.response.status}`);
} else if(err.request) {
console.log(`request.status: ${err.request.status}`);
}
})
推荐阅读
- amazon-web-services - 子域映射到 AWS 服务器
- android - Android:添加 Facebook SDK 时出现“INSTALL_FAILED_CONFLICTING_PROVIDER”错误
- c++ - c++ 连接网络(ubuntu),如何处理密码错误的情况
- javascript - 解析错误:类型转换表达式应包含在括号中
- spring-boot - 发生错误时如何停止消费来自kafka的消息并在春季启动一段时间后重新开始消费
- web - 如何向每个用户显示存储使用情况
- python - 使用装饰器对烧瓶应用程序进行身份验证
- python - 如何提取更大数据集的子集
- javascript - 移动图像上的 Onclick 事件不起作用
- javascript - 如何在 Odoo 中实现第三方 JS 库