HTTP GET参数未传递到Express app.get
HTTP GET参数未传递到Express app.get
这个问题已经有了答案:
当我发出GET请求时,我在控制台输出(console.log)response并获得404的响应
Http failure response for http://localhost:3000/api/watchings/?watchItemUniqueKey=5dab6083b68bd049c0b8f9ce%7C5daf5e0c8d261e5364acd8b6: 404 Not Found", err
所以我知道值作为参数传递,但我的app.js文件没有看到它。另外,在app.get开始处的console.log(“output:”+req.params.test);
也没有输出,所以从watch-list.service.ts的GET请求也没有命中app.js文件。
任何帮助都将不胜感激。我一个月前才开始学习Node.js,所以还在努力理解运行方式。
watch-list.service.ts
getWatchList(watchingId) { watchingId = watchingId.trim(); let params1 = new HttpParams().set('watchItemUniqueKey', watchingId); return this.http.get<{}>( 'http://localhost:3000/api/watchings/', {params: params1} ). subscribe((response) => { console.log(response); }); }
app.js
app.get("/api/watchings/:test", (req, res, next) => { console.log("output: " + req.params.test); Watching.find({"value": req.params.test}) .then(documents =>{ res.status(200).json({ message: "Posts fetched Successfully", watchItems: documents, }); }); });
admin 更改状态以发布 2023年5月25日
你传递的是查询参数,你应该可以像下面这样访问它:
app.get("/api/watchings", (req, res, next) => { console.log("output: " + req.query.watchItemUniqueKey); Watching.find({"value": req.query.watchItemUniqueKey}) .then(documents =>{ res.status(200).json({ message: "Posts fetched Successfully", watchItems: documents, }); }); });