簡體   English   中英

來自本地服務器的 GET 請求不起作用

[英]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.jsrouter應該是:

router.route('/').get((req, res) => { 
    Posts.find({color: "Green"})
       .then((posts) => res.json(posts));
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM