Одинарные кавычки в строке с jQuery ajax

Существует 2 версии Сред Java, J2EE и Se. SE является стандартным выпуском, который включает все основные классы, что необходимо было бы записать однопользовательские приложения. В то время как Enterprise Edition настраивается для многоярусных корпоративных приложений или возможных распределенных приложений. При использовании серверов приложений, как кот или websphere, Вы хотели бы использовать J2EE с дополнительными классами для поддержки n-tier.

10
задан animuson 15 March 2012 в 00:34
поделиться

4 ответа

Вы можете найти одну из многих реализаций String.replaceAll или написать свою собственную и просто заменить любые одинарные или двойные кавычки на экранированную версию, например \ "или \ '.

3
ответ дан 3 December 2019 в 14:53
поделиться

Вы должны экранировать кавычки с помощью \ или в зависимости от того, как вы планируете использовать строку, вы можете использовать функции javascript escape и unescape.

alert(escape("mike's"));
alert(unescape(escape("mike's")));

Также проверьте здесь способы escape-строк с помощью jQuery

23
ответ дан 3 December 2019 в 14:53
поделиться

Вам действительно следует дезинфицировать свой ввод внутри серверного скрипта по ряду причин. Если вы просто отображаете все, что вводит пользователь, то ваше приложение, скорее всего, можно использовать для запуска атаки межсайтового скриптинга.

0
ответ дан 3 December 2019 в 14:53
поделиться

В Javascript для этого есть встроенный метод, который охватывает не только одинарные кавычки. Он называется encodeURIComponent, из Javascript Kit:

Используется для кодирования части параметров URI для символов, которые имеют специальное значение, чтобы отделить их от зарезервированных символов, таких как "&", которые действуют как разделители ключей/значений. Этот метод более инклюзивный, чем encodeURI(), он кодирует все символы со специальным значением в строке URL, включая "=" и "&". Используйте этот метод только для части параметра URI; в противном случае URI может перестать быть действительным, если он содержит один из символов, которые являются частью действительного URI (например, "+"), но должны быть экранированы, если являются частью параметра URI.

Таким образом, ваш код должен выглядеть так:

data: "{str_" + encodeURIComponent(sectionName) + " :'" + encodeURIComponent(UpdateText) + "',EntityID: '" + encodeURIComponent(EntityID) + "' }",

Я кодирую все, что отправляю в строке запроса, чтобы быть в безопасности, но кодирование EntityID можно пропустить, потому что он не исходит от пользователя (я предполагаю), поэтому вы знаете, что в нем не будет специальных символов.

0
ответ дан 3 December 2019 в 14:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: