【问题标题】:GET http://localhost: postmanGET http://localhost: 邮递员
【发布时间】:2018-11-22 03:29:28
【问题描述】:

我使用 MEAN 堆栈作为我的后端。这是我的服务器 js 文件

const users = require('./routes/users');
app.get('/', (req, res) => { 
    res.send('Invalid endpoint');
});

这是我的路由文件 users.js

router.get('/jobdetail', function(req,res) {
  console.log('fetching jobs');
  jobDetails.find({}, (err,jobs) => {
    if(err) {
      console.log(err);
    }
    else {
      res.json(jobs);
    }
  });
});

当我运行它时,邮递员的网址:

localhost:3000/api/jobdetail

我得到的响应不是来自 MongoDB 的数据,而是

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Error</title>
        <script type="text/javascript" src="http://gc.kis.v2.scr.kaspersky-labs.com/D11634C0-514E-C94E-9DFD-54EBD0B16E5F/main.js" charset="UTF-8"></script>
    </head>
    <body>
        <pre>Cannot GET /api/jobdetail</pre>
    </body>
</html>

【问题讨论】:

  • 我们需要查看更多您的代码 - 您如何/在哪里安装了路由器、中间件的顺序等。
  • 您的路线定义中似乎缺少/api,即router.get('/api/jobdetail,..`?

标签: node.js angular https mean-stack postman


【解决方案1】:
var api = require('../routes/users.js');
app.use('/api', api);

在您的 routes/users.js 文件中:

    var mongoose =require('mongoose');
    var router = require('express').Router();
    var conn = mongoose.connection;
    conn.once("open", () => {
        router.get('/jobdetail', function(req, res) {
           jobDetails.find({}, (err,jobs) => {
              if(err) {
              console.log(err);
              }
              else {
               res.json(jobs);
               }
            });
        });
    });
    module.exports = router;

【讨论】:

    猜你喜欢
    • 2021-08-23
    • 2020-07-23
    • 1970-01-01
    • 2019-08-25
    • 2019-01-07
    • 1970-01-01
    • 2021-09-14
    • 2015-08-21
    • 2021-12-16
    相关资源
    最近更新 更多