Node.js 请求库的相对 uri

2024-04-11

我有以下代码,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);
    }
});

有没有一种好方法可以在服务器端 Node.js Express 应用程序上使用相对路径/url 和请求库?


仅当从上下文中明确 url 的根部分应该是什么时,仅给出相对 url 才有效。例如,如果您正在stackoverflow.com并找到一个链接/questions,从上下文中可以清楚地看出完整的网址应该是stackoverflow.com/questions.

请求库没有此类可用的上下文信息,因此它需要您提供完整的 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 的根部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js 请求库的相对 uri 的相关文章

随机推荐