Функция Firebase - http получить параметры с акцентуацией - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть функция firebase, выполняющая http GET.Есть 3 параметра, и все работает нормально, но если один из параметров содержит acentuation, консоль Firebase не выдает никакой ошибки, но GET не выполняется.В этом случае проблема с параметром 03.

        var url = 'http://myapi.azurewebsites.net/api/values?Parameter01=' + nameParam + '&Parameter02=' + emailParam + '&Parameter03=' + serviceParam ;

http.get(url, (resp) => {
     res.setEncoding('utf8');
}).on("error", (err) => {
  console.log("Error : " + err.message);
});

Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 18 ноября 2018

Всякий раз, когда вы создаете URL, вы должны правильно экранировать все компоненты строки запроса, чтобы они содержали только допустимые символы . Вот для чего encodeURIComponent () . Так что кодируйте все значения строки вашего запроса следующим образом:

var url = 'http://myapi.azurewebsites.net/api/values' +
    '?Parameter01=' + encodeURIComponent(nameParam) +
    '&Parameter02=' + encodeURIComponent(emailParam) +
    '&Parameter03=' + encodeURIComponent(serviceParam);

Существуют и другие более чистые способы создания URL-адреса с компонентами строки запроса, но это должно работать нормально.

...