我有以下代码,而node.js无法解析网址:
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);
}
});
在服务器端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');
但是,当然,这仍然需要您知道url的根部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句