我想在Angular的http get请求中将_id作为参数传递

时间:2018-09-26 02:10:38

标签: node.js angular typescript

  productSelect(_id){
    let headers = new Headers();
    headers.append('Content-Type', 'application/json');
    return this.http.get('http://localhost:3000/api/productSelect', { headers: headers, search: _id }).pipe(map(res => res.json()));
  }

index.js(节点)

router.get('/productSelect', (req, res, next) =>{
    let _id = req.query.search;
    console.log(_id);
    productSchema.aggregate([   
        { $lookup:
            {
                from: 'supplierschemas',
                localField: 'supplierId',
                foreignField: '_id',
                as: 'supplier'
            }
        },
        { $lookup:
            {
                from: 'brandschemas',
                localField: 'brandId',
                foreignField: '_id',
                as: 'brand'
            }
        },
        { $lookup:
            {
                from: 'categoryschemas',
                localField: 'categoryId',
                foreignField: '_id',
                as: 'category'
            }
        }

    ], (err, productSchema) =>{
        if(err) res.json(err);
        else res.json(productSchema);
    });
});

此代码返回“未知”。如何解决这个问题?以及如何添加传递参数进行汇总?我想根据用户选择修改选择标签选项

1 个答案:

答案 0 :(得分:0)

好像您需要req.query.search而不是req.body.search。来自文档

  

要求查询

     路由中的

查询字符串参数。如果没有查询字符串   是空对象{}。此属性是包含每个属性的对象