Ale*_*lls 8 javascript node.js express
我有以下代码,node.js无法解析url:
const request = require('request')
const teamURL = `/users/${user._id}/teams`;
const req = request({
url: teamURL,
json: true
},
function(error, response, body) {
if (!error && response.statusCode == '200') {
res.render('userHome.html', {
user: user,
teams: body
});
}
else {
console.error(error);
next(error);
}
});
Run Code Online (Sandbox Code Playgroud)
有一个很好的方法在服务器端node.js Express应用程序上使用相对路径/ URL与请求库?
仅仅从上下文中清楚地知道url的根部应该是什么,仅提供相对URL.例如,如果您正在stackoverflow.com查找链接/questions,则从上下文中可以清楚地看到完整的URL应该是stackoverflow.com/questions.
请求库没有这种可用的上下文信息,因此需要您提供的完整URL才能发出请求.您当然可以自己构建完整的URL,例如使用url.resolve():
var url = require('url');
var fullUrl = url.resolve('http://somesite.com', '/users/15/teams');
console.log(fullUrl); //=> 'http://somesite.com/users/15/teams');
Run Code Online (Sandbox Code Playgroud)
但是当然这仍然需要你知道网址的根部分.