包含斜杠字符的标识符' /'进入URI

时间:2016-10-11 10:18:51

标签: angularjs node.js mongodb express restful-url

我使用 Express mongodb Angular 来创建应用程序,我在MongoDB中的一个文档的标识符为 _id =' 20161007 / COMPANY-00 / CL / 01-01'

我正在尝试使用标识符通过 REstful API从 Angular 获取数据:

var _id = '20161007/COMPANY-00/CL/01-01';

this.$http.get('/api/datadays/' + _id)
      .then(response => {....}

但结果是:

  

angular.js:11881 GET   http://localhost:9000/api/datadays/20161007/COMPANY-00/CL/01-01 404   (未找到)

有没有办法在标识符中使用斜杠来处理node / express中的restful API?

由于

1 个答案:

答案 0 :(得分:6)

您应该查看Encode URI ComponentDecode URI Component

前端代码:

var _id = encodeURIComponent('20161007/COMPANY-00/CL/01-01');

this.$http.get('/api/datadays/' + _id)
      .then(response => {....}

后端代码:

app.get('/api/datadays/:id', function(req, res) {
  let id = decodeURIComponent(req.params.id)
  ...
})