在 Node JS 中使用英语以外的语言时未转义字符?
Unescaped Characters when using languages other than English in Node JS?
我正在使用 Google 云函数和 Google 个地点 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;
尝试在执行实际请求之前对 url 进行编码。
var url = "https://maps.googleapis.com/maps/api/place/autocomplete/json?" + "key=" + key + "&type=" + type + "&input=" + input;
var encodedUri = encodeURI(url)
我正在使用 Google 云函数和 Google 个地点 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;
尝试在执行实际请求之前对 url 进行编码。
var url = "https://maps.googleapis.com/maps/api/place/autocomplete/json?" + "key=" + key + "&type=" + type + "&input=" + input;
var encodedUri = encodeURI(url)