【发布时间】:2021-09-22 19:11:43
【问题描述】:
可能这是一个非常愚蠢的问题,我是 Node.js 和 javascript 的新手,所以如果问题没有得到正确解释或答案很简单,请原谅我......
我正在尝试通过 url 发送 2 个变量...当我只发送 1 个变量 (artist=${term}) 时,一切都很好,但我真的不知道如何通过 url 发送 2 个变量网址(&artist=${term1}&album=${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}`);
};
我一直在寻找,我已经看到了一些解决方案,like this one,但我只是不明白这些解决方案或如何应用到我的代码(对不起,我对此很陌生)
有好心人可以帮助这个新手吗? (如果也能解释解决方案的原因,理解,将是惊人的!)
提前致谢!!
【问题讨论】:
-
您也可以尝试输出您正在使用的完整网址,就像在这张图片中一样? i.stack.imgur.com/J6fsj.png 只是为了确保
-
@Alex028502 我相信问题不在 const { data } 中;按级别,请求的 url 是错误的。根据你的图片,输出是:"full url is /v1/infoAlbum?method=album.getinfo&artist=lenka&album=lenka&api_key=c6......b9&format=json" is repeating the artist变量两次...如何捕获变量专辑?
标签: javascript node.js asynchronous async-await axios