\ 0 Будучи добавленным в строку? - PullRequest
1 голос
/ 10 апреля 2010

У меня есть служба WCF, которая берет текст, который вводит клиент, и передает его в службу Windows. Я использую jQuery для отправки текста в службу WCF (в json). Перед передачей данных я вызываю $ .trim () для текста. Сегодня я получил текст с нулевым символом, который выглядел так:

00-15-5D-0A-0B-01\0

Если я вернусь и протестирую и отправлю текст как «обычный пользователь», текст будет правильно экранирован и отправлен в службу:

00-15-5D-0A-0B-01\\0

Мой вопрос: не должен ли jQuery удалить специальный символ с помощью метода Trim ()?

Это странно, потому что я знаю, что этот клиент не пытался быть «подлым» или что-то в этом роде, чтобы не унижать их, но они просто недостаточно осведомлены, чтобы знать об этом типе вещей. Что заставляет меня задуматься, произошло ли что-то между клиентом и сервером.

Возможно ли, чтобы этот символ был прикреплен, если связь / запрос был прерван?

Ответы [ 2 ]

1 голос
/ 10 апреля 2010

У меня нет опыта работы с jquery, поэтому я сам не пробовал, но документация и исходный код показывают, что trim не удаляет символы NUL. http://api.jquery.com/jQuery.trim/

Источник дополнительного NUL-символа трудно определить без дополнительной информации.

1 голос
/ 10 апреля 2010

Из документации jQuery.trim () API :

Функция $ .trim () удаляет все переводы строк, пробелы (в том числе неразрывные пробелы) и вкладки из начало и конец поставляемого строка. Если эти пробельные символы происходят в середине строки, они сохранились.

Исходный код является довольно простым regex выражением, которое ищет те символы, которые упомянуты выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...