【问题标题】:404 not found on API route for MEAN application?在 MEAN 应用程序的 API 路由上找不到 404?
【发布时间】:2015-06-15 07:56:45
【问题描述】:

在我的应用程序中,当其中一个表单被提交时,这个函数被调用...

$scope.submit = function() {
    $scope.message = "";
    var params = {
        ...
    };
    Subscriber.create(params)
        .success(function(data) {
            ...
        });
};

然后调用这个 subFactory 创建方法,该方法发布到“/mail”。

subFactory.create = function(subData) {
    return $http.post('/mail', subData);
};

在尝试发布到“/mail”时,我收到此错误POST http://localhost:8080/mail 404 (Not Found)。我无法弄清楚如何解决,因为我有这个......

apiRouter.route('/mail')
    .post(function(req, res) {
        ...
    });

据我所知,我应该能够找到“/mail”。完整的apiRouter位于here,完整的server.js文件位于here。

【问题讨论】:

  • 您如何使用apiRouter?稍微扩展您的示例服务器代码。
  • @KevinB 如果不是太多的话,我在我的 github 存储库中添加了指向 apiRouter 文件的链接。
  • 您应该发帖到/api/mail 因为app.use('/api', apiRoutes); (server.js) 为了完整起见,您能否在我的问题中包含 server.js 的那部分把答案放在一起?
  • 当然感谢,这对我来说是一个巨大的疏忽。

标签: angularjs node.js http-post http-status-code-404


【解决方案1】:

当您在 server.js 中设置 api 路由时,您将其路由到 /api,因此添加到您的路由器的所有路由都将从那里开始。因此,您的/mail 路由位于/api/mail

server.js

// ROUTES
// ========

// API ROUTE
// -------------
var apiRoutes = require('./app/routes/api')(app, express);
app.use('/api', apiRoutes);

./app/routes/api

apiRouter.route('/mail')
    .post(function(req, res) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-06
    • 2020-10-21
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多