2016-10-08 5 views
0

Сейчас я пытаюсь использовать encodeUri() в моих сценариях, но получаю исключение в теме. Значение, переданное encodeUri(), действительно и происходит в разных (последних) браузерах.Исключение Javascript: encodeUri не определено

У кого-нибудь появилась идея, почему даже можно получить исключение «неопределенное» для encodeUri()?

КПП. это то же самое с encodeUriComponent(). Только escape() не выбрасывает исключение.

Любая помощь очень ценится

Приветствия, Том

+0

'encodeURI' или' encodeURIComponent' – Pointy

+1

Возможно, это связано с тем, что обе эти функции являются 'encodeURI..', дело имеет значение – adeneo

+0

Кажется, что у меня должен быть разрыв X-) Это была чувствительная к регистру проблема ^^ – Tom

ответ

0

encodeURIComponent (строка) возвращает "неопределенный" в случае, если строка аргумент неопределенными.

Я предлагаю вам отладить его и убедиться, что строка действительна.

Также вы можете попытаться обернуть эту функцию с помощью другой функции, чтобы добавить ручное подтверждение:

function encode(string) { 
     var stringIsInvalid = string === undefined || 
          typeof string !== 'string' || 
          string.length < 1; 

     if(stringIsInvalid) throw new Error('Cannot encodeURIComponent(string),'+ 
              ' string is invalid'); 

     return encodeURIComponent(string); 
} 
0

Чтобы закончить эту тему для других, второе решение: Всегда обращайте внимание на правильность набора текста: кодирование URI ()

Смежные вопросы