【问题标题】:failing to use req.params in api angular 4 mean to get data from mongoose database未能在 api angular 4 中使用 req.params 意味着从 mongoose 数据库中获取数据
【发布时间】:2017-11-11 21:47:52
【问题描述】:

使用邮递员,我可以访问 api 并找到我正在寻找的数据。 但是,当我使用 params 函数尝试客户端时,它不会给出任何错误。但它似乎没有做任何事情,也没有给出 Get/200 不确定是否总是如此。 所以我使用一个按钮来触发触发 get 请求的链接,但我没有看到 get/200 请求。在浏览器中也没有错误。 我真的用 req.params.btc 遍历了所有变体,并尝试使用 req.query。 我读到 set 函数不能有多个参数,因此我使用 params.append。

花几个小时在这上面,我真的希望有人能帮我解决这个问题。我正在使用 HttpClient angular 4+,我基本上是在尝试使用我想通过 HTTP 发送的参数 ID 从 mongoose 服务器获取数据,以选择 api/mongoose 上的数据

AUTH-SERVICE.TS
readonly ROOT_URL = 'http://localhost:3000/api/findData';
var params = new HttpParams();
params = params.append('key', 'value1');
params = params.append('key', 'value2');


this.http.get(this.ROOT_URL ,{ params })

.do(console.log)

    .map(data => data.send (data))
 }


API.JS
router.get('/findData:btc', function (req, res) {

Coin.findOne ({ 'coinCode' :  mongojs.ObjectID(req.params.btc) },  
function    (err, result) {
if (err) throw err;
if (result) {
    res.json(result)
} else {
    res.send(JSON.stringify({
        error : 'Error'
    }))
}
})
})

【问题讨论】:

    标签: angular parameters get httpclient


    【解决方案1】:

    你必须在你的 url 中添加 / 之前的参数,例如,'/findData/:btc'

    【讨论】:

      猜你喜欢
      • 2019-03-18
      • 2017-11-18
      • 2017-12-31
      • 2013-10-18
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 2014-07-27
      • 2019-05-10
      相关资源
      最近更新 更多