![](/img/trans.png)
[英]Cant make a fetch post request from front end client to local node server, only GET requests work
[英]GET request from a local server not working
我正在嘗試使用 axios 的 GET 請求獲取 json 文件,但未檢索到該信息。
在index.js
(檢索信息)中:
axios.get('http://localhost:1000/getpost/')
.then((response) => {
console.log(response);
});
后端端點getpost.js
(發送信息):
var router = require('express').Router();
var Posts = require('../models/post-model.js');
router.route('/').get(() => {
Posts.find({color: "Green"})
.then((res) => {
return res;
});
});
module.exports = router;
我也試過return Posts.find({color: "Green"});
在router.route('/').get...
函數內部,但返回的值與我需要的承諾中的值不同。 我檢查了信息實際上是通過console.log(res)
發送的,但是前端沒有收到它——當我在那里記錄結果時,它是空的。
您沒有對路由響應做任何事情。 也許像...
router.route('/').get((req, res1) => {
Posts.find({color: "Green"})
.then((res) => {
res1.end(res);
});
});
(假設res
是純文本中的數據,如果它是 JavaScript 對象,您將執行res1.json(res)
或res1.jsonp(res)
)
您需要將路由映射到 getpost 為:
router.route('/getpost')
所以你的 getpost 將是:
var router = require('express').Router();
var Posts = require('../models/post-model.js');
router.route('/getpost').get(() => {
Posts.find({color: "Green"})
.then((res) => {
res.send({status:200,message:res});
});
});
module.exports = router;
顯然,我沒有正確傳遞結果。
getpost.js
的router
應該是:
router.route('/').get((req, res) => {
Posts.find({color: "Green"})
.then((posts) => res.json(posts));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.