Как использовать возврат каретки или перевод строки в строке запроса?

клиенты могут вводить строки в текстовую область, и это сохраняется в базе данных.

Если клиент возвращается на сайт, он может загрузить ранее введенные данные.

однако каналы строк и возврат каретки не отображаются в текстовой области.

Я могу поместить их в строку запроса, например, путем кодирования ASCII: %A или %D, но java это не нравится и создает исключение IllegalArgumentException.

Итак, я делаю сейчас: %5Cn и %5Cr что дает: n и r

Как сделать javascript для отображения экранированных новых строк как фактических новых строк в текстовой области?

URL-адрес что-то вроде:

http://www.abc.com?textarea=line1%5Cn%5Crline2

и я хочу, чтобы line1 и line2 на двух разных строк в textarea.

3 ответов


%5C является буквальной обратной косой чертой-so %5Cn означает просто "обратная косая черта, а затем буква n". Что вы, вероятно, хотите-это %0A и %0D вместо %A и %D. Но вы должны URL-кодировать всю строку правильно, а не просто кодировать два символа вручную. Использовать encodeURIComponent(). Кроме того, используйте POST вместо GET, но не потому, что строка является многострочной, а потому, что вы храните ее в базе данных. Вы не должны использовать GET метод для операций, которые не являются идемпотентный.


Я нашел хороший, чистый и простой онлайн-инструмент для этого

enter image description here


использование GET (строка запроса) для ввода многострочных данных неверно. Вместо этого вы должны рассмотреть POST.