代码之家  ›  专栏  ›  技术社区  ›  koque

快车找不到路线

  •  0
  • koque  · 技术社区  · 8 年前

    我在Angular中定义了以下路线:

    export class CartService {
      private cartAddUrl = "/api/cart/add";
      private cartGetUrl = "/api/cart/get";
      private cartCountUrl = "/api/cart/count";
    }
    

    这是使用cartCountUrl的函数:

    public getNumberOfItems() {
       return this.httpClient.get<number>(this.cartCountUrl)
       .pipe(
         tap(count => console.log('count', count)),
         map(count => this.numberOfItems = count)
       )
     }
    

    节点上的路由定义如下:

    'use strict';
    
    var ctrlCart = require('../controllers/cart.server.controller');
    var ctrlUser = require('../controllers/user.server.controller');
    
    module.exports = (app) => {
        app.route('/api/cart/add')
        .post(ctrlUser.authenticate, ctrlCart.cartAdd);
    
        app.route('/api/cart/get')
       .get(ctrlUser.authenticate, ctrlCart.cartGet);
    
        app.route('/api/cart/count')
        .get(ctrlUser.authenticate, ctrlCart.cartCount);
    
    }
    

    再次,找到前两条路径。“/api/cart/count”路由导致404错误。

    exports.cartCount = function(req, res) {
        Cart.findOne({pasword: req.password})
        .exec(function(err, cart) {
            if(err) {
                console.log('error get cart count');
                res.status(500).json(err);
                return;
            } else if(!cart) {
                res.status(404).json(0);
            } else {
                console.log('cart count', cart.cartItem.length);
                res.status(200).json(cart.cartItem.length);
                return;
            }
        })
      }
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   koque    8 年前

    简单的打字错误。在控制器中,“password”的拼写是“s”。 车。芬顿({密码:请求密码})

    推荐文章