2015-02-10 2 views
2

Все еще немного запутано после просмотра документации stackOverflow и jQuery. Должен ли я избегать value, если я получу его из поля ввода и измените ссылку с помощью интерполяции строк?jQuery .val метод требуется экранирование?

function updateLinks() { 
    var value = $('.dataTables_filter input').val() 
    $('.some-link').attr("href", "www.example.com/?query=" + value) 
} 
+1

Да. Да, вы бы это сделали. «Браузер» будет кодировать HTML-код для вас, но не URL-кодировать его. –

+0

@frederichamidi Но отправка искаженного запроса, подобного этому, заставит браузер преобразовать URL-адрес при отправке ... Я знаю, что это не так, это просто браузер, исправляющий ошибки пользователя. – somethinghere

+1

@somethinghere, боюсь, я не понимаю ваш комментарий. Если, например, значение ввода содержит '&', то оно будет экранировано в '&', а не '% 26'. Поэтому он будет интерпретироваться как разделитель аргументов запроса в результирующем URL-адресе, а не как часть самого аргумента запроса. –

ответ