2010-04-09 3 views
1

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

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

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

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

Мой вопрос: shouldnt jQuery strip специальный символ, используя метод Trim()?

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

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

+1

О чем вы спрашиваете? Как туда попал нулевой символ или как его избавиться? Это два вопроса, поэтому вы должны спросить ... два вопроса. –

ответ

1

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

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

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

1

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

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

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