javascript - 如何使用 http 传递整个 URL,例如 "http://www.facebook.com"作为 Node/express "/:param"的参数?

标签 javascript node.js express

我似乎无法传递整个网址,例如“http://example.heroku.com/http://www.facebook.com

app.get('/:url', function(req, res){
  var url = req.params.url;
  // do something with url...
}

我总是收到一条错误消息“Cannot GET/http://www.facebook.com”。 我该如何克服这个困难?

最佳答案

某些字符(如 /)在 URL 中具有特殊含义,需要进行编码。

http://example.heroku.com/http%3A%2F%2Fwww.facebook.com

大多数编程语言都有一个函数(可能通过第三方库)可以为您进行编码。例如,在 JavaScript 中,即 encodeURIComponent

关于javascript - 如何使用 http 传递整个 URL,例如 "http://www.facebook.com"作为 Node/express "/:param"的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37875841/

相关文章:

Node.js + Express 传递对象

node.js - 解析具有强大文件名的表单值

string - 要求文件为字符串

node.js - 等待数据在数据库中出现/更改

javascript - 在 Geofire 中使用 Promise

javascript - 如何在字符串中插入空格,包括字符串中空格周围的空格?

javascript - 重写ajax jquery调用coffeescript

javascript - 粘性标题不会一直向上滚动(与下面的 div 重叠)

javascript - 如何在 MongoDB 中找到对象数组和集合之间的交集?

javascript - 如何在react js应用程序中添加onchange事件