【问题标题】:Cant find route /releases/add找不到路线 /releases/add
【发布时间】:2018-04-17 03:14:47
【问题描述】:

我有一个 CRUD 应用程序,您可以在其中创建发布。 用户可以添加发布(发布有版本和描述) 这是通过一个按钮和一些可以输入详细信息的字段来完成的

    <button (click)="addRelease(version.value, description.value)" [disabled]="angForm.pristine || angForm.invalid" class="btn btn-primary">Add</button>

我的 addRelease 函数:

    addRelease(version, description) {
this.releaseservice.addRelease(version, description);
}

我的服务中的 addRelease 函数:

    addRelease(version,description) {
const uri = 'http://localhost:4000/releases/add';
const obj = {
  version: version,
  description: description
};
this
  .http
  .post(uri, obj)
  .subscribe(res =>
      console.log('Done'));
}

然后在我的 releaseRoutes.js 中

   releaseRoutes.route('/releases/add').post(function (req, res) {
   var release = new Release(req.body);
   release.save()
   .then(item => {
   res.status(200).json({'release': 'release added successfully'});
   })
   .catch(err => {
   res.status(400).send("unable to save to database");
    });
   });

server.js:

   releaseRoutes = require('./expressRoutes/releaseRoutes')
   const app = express();
   app.use('/releases', releaseRoutes);

为了便于阅读,省略了一些代码。

当我尝试创建新版本时 它给出了 404 错误

    POST http://localhost:4000/releases/add 404 (Not Found)
   core.js:1449 ERROR HttpErrorResponse {headers: HttpHeaders, status: 404,statusText: "Not Found", url: "http://localhost:4000/releases/add", ok: false, …}

我是新手,需要一些帮助来解决这个错误,已经坚持了几天

【问题讨论】:

  • 你确定你的服务器在 4000 端口上运行吗?
  • 尝试将releaseRoutes.route('/releases/add')更改为releaseRoutes.route('/add')
  • 这就是诀窍 :) thx

标签: javascript node.js angular mongodb express


【解决方案1】:

您已经在app.use('/releases', releaseRoutes); 中定义了/releases 的路由

releaseRoutes.route('/releases/add') 更改为releaseRoutes.route('/add')

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 2017-01-01
    • 2014-04-22
    • 2016-04-04
    • 2016-09-16
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多