【问题标题】:GET request from a local server not working来自本地服务器的 GET 请求不起作用
【发布时间】:2020-02-24 18:09:09
【问题描述】:

我正在尝试用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; 

我也在router.route('/').get...函数中尝试了return Posts.find({color: "Green"});, 但是返回的值与我需要的 promise 中的值不同。我检查了信息实际上是用console.log(res) 发送的,但是在前端没有收到它——当我在那里记录结果时,它是空的。

【问题讨论】:

  • 当您执行 get 请求时,您能否查看 postman 中是否有结果,如果您可以显示您的 index.js 以及您如何映射路线会更好
  • 好消息!我用insomnia(类似postman)测试GET请求,不返回(不停止加载)
  • 好吧,我可能认为您映射路线不正确...发布您的 index.js
  • index.js 中除了我已经包含的内容之外,没有任何与 GET 请求相关的内容,并且 url 是正确的

标签: javascript express get axios


【解决方案1】:

你没有对路由响应做任何事情。也许像......

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

(假设res是纯文本中的数据,如果它是一个JavaScript对象你会做res1.json(res)res1.jsonp(res)

【讨论】:

  • 我做了console.log(res),我得到了json,当我在index.js的接收端做它时,我什么也没得到。
  • 您的答案似乎是对的,我尝试了类似的方法并且它有效。谢谢!
【解决方案2】:

你需要将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; 

【讨论】:

  • 这不是真的,因为我正在映射到我已经提供 http://localhost:1000/getpost/ 的 url,所以包含 /getpost 是错误的——我确实收到了这样的错误
  • @David,您在 index.js 或 app.js 中有您用于 api 的映射,只需显示 getpost 的部分
  • 这不是问题,我通过更改答案中的代码解决了它
【解决方案3】:

显然,我没有正确传递结果。

getpost.js 中的router 应该是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2018-03-05
    • 2019-12-31
    相关资源
    最近更新 更多