Javascript 关于自己的REST API和使用第三方API获取的问题
我正在开发一个后端来创建一个NodeJS服务器,从IGDBAPI获取信息并显示特定信息。我不熟悉使用express和javascript的node js,所以我可能完全错过了一些东西,但现在就开始了 我想从创建一个端点开始,通过IGDB API搜索游戏Javascript 关于自己的REST API和使用第三方API获取的问题,javascript,node.js,express,Javascript,Node.js,Express,我正在开发一个后端来创建一个NodeJS服务器,从IGDBAPI获取信息并显示特定信息。我不熟悉使用express和javascript的node js,所以我可能完全错过了一些东西,但现在就开始了 我想从创建一个端点开始,通过IGDB API搜索游戏 `app.get('/test', (req, res) => { res.header("Access-Control-Allow-Origin", "*"); res.header( "Access-Co
`app.get('/test', (req, res) => {
res.header("Access-Control-Allow-Origin", "*");
res.header(
"Access-Control-Allow-Headers",
"Origin, Content-Type, Accept"
)
fetch("https://api-v3.igdb.com/games", {
headers: {
"user-key": "MY_KEY",
Accept: "application/json"
},
method:"POST",
body:`fields name; search "halo"; where version_parent = null;`
})
.then((response) => {
return response.json();
})
.then((response) => {
res.send(response);
})
.catch((err)=>{
console.log(err);
})
});`
这会将原始JSON数据发送到搜索主体中的游戏(在本例中为halo)。所以我已经可以使用这个端点了,但是我必须在Body参数中硬编码名称。
现在我有了第二个Javascript文件,该文件链接到包含以下代码的html文件:
test.addEventListener('click',()=>{
fetch("http://localhost:3000/test",{
})
.then((response)=>{
return response.json();
})
.then((response)=>{
})
});
出于测试原因,我只有一个按钮从端点获取JSON信息
这里我只想获取端点,然后使用响应在html文件中显示数据。正如我之前提到的,实际获取信息部分工作正常,但我现在遇到的问题是,我现在不知道如何将搜索变量提供给我的/测试端点。我需要能够搜索一个用户通过html键入的游戏,所以我的想法是,我必须能够以某种方式将变量从第二个Javascript文件传递到端点,但我不知道如何做到这一点,所以我在这里寻求帮助。您可以在express API中添加一个查询参数。i、 e
app.get('/test', (req, res) => {
...
let search = req.query.search;
fetch("https://api-v3.igdb.com/games", {
...
body: 'fields name; search "' + search + '"; where version_parent = null;'
})
...
});
然后在你的第二个JS脚本中
test.addEventListener('click',() => {
let search = document.getElementById("search-term").value;
fetch("http://localhost:3000/test?search=" + search, ...})
...
});
前提是您在HTML文件中有输入
<input type="text" name="name" id="search-term" value="value" />
您可以发送如下参数
app.get('/test/:searchkey',(req,res)=>{
。请阅读。