Как использовать возврат каретки или перевод строки в строке запроса?
клиенты могут вводить строки в текстовую область, и это сохраняется в базе данных.
Если клиент возвращается на сайт, он может загрузить ранее введенные данные.
однако каналы строк и возврат каретки не отображаются в текстовой области.
Я могу поместить их в строку запроса, например, путем кодирования 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
метод для операций, которые не являются идемпотентный.
использование GET (строка запроса) для ввода многострочных данных неверно. Вместо этого вы должны рассмотреть POST.