我正在尝试弄清楚如何使用Express的“发帖请求”列出列表。我正在通过api检索视频游戏数据,我想使用到达那里的数据并将特定方面添加到列表中。 例如:
let name = localStorage.getItem("name");
let id = localStorage.getItem("id");
let cover = localStorage.getItem("cover");
fetch("http://localhost:3000/genre?search=" + id, {})
.then((response)=>{
return response.json();
})
.then((response)=>{
let GenreHelper=[];
for(let n=0;n<=response.length;n++) {
GenreHelper[n]=response[n]["name"];
document.getElementById("genre").innerText=GenreHelper.toString();
}
});
在这里,我得到特定游戏的ID,名称,封面和体裁,我想将名称和封面作为变量提供给新的html网站以列出列表。 我在html中编码了一个按钮,以测试发布操作
<form id="form" action="/addtolist" method="POST">
<button type="submit">Submit</button>
</form>
,我使用了一个简单的Post请求,看看它是否有效。
app.post('/addtolist',(req,res)=>{
console.log("Test");
});
这确实有效,但是我不知道如何使用Post请求来获取变量名,例如将其传递到新的html页面或新的javascript文件中。
答案 0 :(得分:0)
我会发表评论,但没有足够的观点来做到这一点。但是,发布数据通常可以在req.body上找到。从您的html看来,您似乎没有发送任何参数。如果您使用的是express
,请安装body-parser
//in app.js
var bodyParser = require('body-parser')
app.use( bodyParser.json() ); // to support JSON-encoded bodies
//then in your route
app.post('/addtolist',(req,res)=> {
const name = req.body.name; //req.body contains the values you send
const id = req.body.id;
});
您需要确保您正在发送尚未使用的值。
您可以像在GET示例中一样使用fetch
,并在按钮单击时发送POST。