javascript - 多个 url 变量 async/await axios
问题描述
可能这是一个非常愚蠢的问题,我是 Node.js 和 javascript 的新手,所以如果问题没有得到正确解释或答案很简单,请原谅我......
我正在尝试通过 url 发送 2 个变量...当我只发送 1 个变量 (artist=${term}) 工作一切都很好,但我真的不知道如何通过 url (&artist) 发送 2 个变量=${term1}&专辑=${term2})
到目前为止,我一直在处理这段代码,其中 1 个变量运行良好......但我不知道如何在请求中添加第二个或第三个变量:
文件 1:“./services/albumInfo.js”
import { BRV_API } from '../../config';
import axios from 'axios';
import dotenv from 'dotenv';
const ALBUM_INFO = 'method=album.getinfo';
dotenv.config();
const doRequest = async (url) => {
return await axios.get(`${BRV_API}/${url}&api_key=${process.env.API_KEY}&format=json`);
};
export const infoAlbum = async (term) => {
return await doRequest(`?${ALBUM_INFO}&artist=${term}`);
};
文件 2:“./repositories/albumInfo.js”
import { infoAlbum } from '../repositories/albumInfo';
import status from 'http-status';
export const albumInfo = async (req, res, next) => {
try {
const { query } = req;
const { data } = await infoAlbum(query.name);
const response = data;
res.status(status.OK).send(response);
} catch (error) {
next(error);
}
};
我知道我的问题出在这部分代码中(我猜)
export const infoAlbum = async (term) => {
return await doRequest(`?${ALBUM_INFO}&artist=${term1}&album=${term2}`);
};
我一直在寻找,我已经看到了一些解决方案,比如这个,但我只是不明白这些解决方案或如何应用到我的代码上(对不起,我对此很陌生)
有哪位好心人可以帮助这个新手?(如果也能解释解决方案的原因,理解,将是惊人的!!)
提前致谢!!
解决方案
axios提供了可以自定义添加的参数如下
const your_url = process.env.URL
const infoAlbum = await axios.get(your_url,{
params: {
artist: term,
album: term2,
api_key: process.env.API_KEY,
format:'json'
}
})
console.log(infoAlbum.data.args)
注意:your_url 没有更多参数。
推荐阅读
- c++ - 在 printme 函数中,它将所有 false 设置为 true
- python - 如何在 .py 文件上使用 %timeit?
- java - 使用 AtomicInteger 的多线程不起作用
- python - 如何从用熊猫读取的txt文件中将参数放入for循环中?
- vb.net - 使面板滚动条无效
- excel-formula - 用多个条件计算多个单元格
- r - 如何使用 color() 而不是 facet_grid() 来“拆分”您的数据,但将其保持在同一个图上
- php - 在反向代理后面运行的 apache2/php 容器不尊重重定向中的转发端口和原型?
- xamarin.forms - 如何在跨平台移动应用项目(VS 2017/Xamarin)中实现 WkWebView?
- docker - 无法删除 Docker 容器中的文件夹