在 Node JS 中使用英语以外的语言时未转义字符?

我正在将 Google 云功能与 Google Places API 结合使用。它在英语中工作正常,但在输入希伯来语或俄语时出现此错误:


Unhandled error TypeError [ERR_UNESCAPED_CHARACTERS]: Request path contains unescaped characters

当我直接在网络浏览器中尝试我的请求时,它工作正常:


https://maps.googleapis.com/maps/api/place/autocomplete/json?key=myKey&type=address&input=основной

但是当我在 NodeJS 中尝试完全相同的字符串时,我收到上面的错误,这是我的代码(我尝试了 unescape):


var input = unescape(data.textInput); //string

var key = "myKey";

var type = "address";

var url = "https://maps.googleapis.com/maps/api/place/autocomplete/json?" + "key=" + key + "&type=" + type + "&input=" + input;


PIPIONE
浏览 123回答 1
1回答

慕工程0101907

在执行实际请求之前尝试对 url 进行编码。var url = "https://maps.googleapis.com/maps/api/place/autocomplete/json?" + "key=" + key + "&type=" + type + "&input=" + input; var encodedUri = encodeURI(url)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript