客户可以在文本区域中输入行,并将其保存在数据库中。
如果客户回到网站,他可以加载以前输入的数据。
但是,换行和回车不会显示在文本区域中。
我可以将它们放在查询字符串中,例如通过ASCII编码它们:%A或%D但java不喜欢它并抛出IllegalArgumentException。
我现在这样做:%5Cn和%5Cr给出:\ n和\ r
如何让javascript将转义的新行显示为文本区域中的实际新行?
网址类似于:
http://www.abc.com?textarea=line1%5Cn%5Crline2
我希望line1和line2在textarea中的两个不同的行上。
答案 0 :(得分:19)
%5C
是一个字面反斜杠 - 所以%5Cn
只是“反斜杠,然后是字母n”。你可能想要的是%0A
和%0D
,而不是%A
和%D
。但是你应该正确地对整个字符串进行URL编码,而不是手工编码两个字符。使用encodeURIComponent()
。此外,使用POST
而不是GET
,但不是因为字符串是多行的,而是因为您将其存储在数据库中。您不应该将GET
方法用于非幂等的操作。
答案 1 :(得分:3)
我找到了一个干净简单的online tool来做这个
答案 2 :(得分:2)
使用GET(查询字符串)输入多行数据是错误的。你应该考虑使用POST。