node.js报错:Request path contains unescaped characters(url含有中文)(code: ‘ERR_UNHANDLED_REJECTION‘)
warning:
这篇文章距离上次修改已过245天,其中的内容可能已经有所变动。
错误解释:
Node.js中出现这个错误通常意味着您尝试请求的URL路径中包含了不被允许的特殊字符。在这种情况下,URL中含有中文字符,而这些字符不能直接出现在URL中,它们需要被转义(escape)。
解决方法:
为了解决这个问题,您需要确保URL中的所有非ASCII字符都被正确地编码。在Node.js中,您可以使用内置的encodeURIComponent
函数来编码URL中的非ASCII字符。
例如,如果您的原始URL是这样的:
http://example.com/path?参数=值
您需要将参数和值分别进行编码:
let param = encodeURIComponent('参数');
let value = encodeURIComponent('值');
let url = `http://example.com/path?${param}=${value}`;
确保在构造请求时使用编码后的URL。这样,您就可以避免出现不受支持的字符,从而避免上述错误。
评论已关闭