2014-12-19 3 views
0

Я тестирую код внешнего кода, и я могу видеть код, который принимает входные данные, используя обработчики {{}}, поэтому, если я ввел вход = & 123, его нельзя преобразовать в & amp123, а затем сохранить в сервер, так как два двойных уса означает, что символы типа «&» экранированы. Когда я смотрю сообщение, отправляемое на сервер, оно по-прежнему отображается как & 123.Handlerbars на выходном выходе?

ответ

5

Нет, HTML-экранирование, выполняемое {{}}, связано только с тем, как значение отображается в DOM. Строка, введенная с использованием {{input}}, никоим образом не преобразуется Ember, и не должна быть.

В общем, никто не хочет, чтобы информация об исключении HTML сохранялась в БД. Данные в БД должны быть фактическими данными. HTML-экранирование - это то, что нужно сделать, как это делает Ember, «на выходе», когда данные отображаются в контексте HTML.

Если вы действительно хотите сохранить сохраненные на HTML-данные данные на своем сервере, вы можете избежать его на сервере до сохранения или, возможно, в сериализаторе Ember. Однако при извлечении данных вам придется либо отменить его на сервере, либо отправить его клиенту как есть, либо unescaping, это десериализатор, либо помнить, что он уже экранирован и помещается в DOM с помощью {{{}}} (тройные рули).

+0

О, я вижу, спасибо за ответ. – user1493786

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