jQuery的form.serialize()方法在获取textarea内容时会自动加上\r,所以如果你用JS计算textarea长度,会与在后台计算的长度不一致。
如textarea中内容为
1
2
3
用textarea.val()获取到的值是1\n2\n3,但是通过form.serialize()方法获取到的却是1\r\n2\r\n3,所以后台获取到的内容会多两个字符。
本文揭示了使用jQuery的form.serialize()方法时,textarea内容会被自动添加
字符,导致前后端长度计算不一致的问题。此现象源于textarea.val()与form.serialize()处理换行符的不同方式。
jQuery的form.serialize()方法在获取textarea内容时会自动加上\r,所以如果你用JS计算textarea长度,会与在后台计算的长度不一致。
如textarea中内容为
1
2
3
用textarea.val()获取到的值是1\n2\n3,但是通过form.serialize()方法获取到的却是1\r\n2\r\n3,所以后台获取到的内容会多两个字符。
转载于:https://my.oschina.net/adaikiss/blog/1523619
2159

被折叠的 条评论
为什么被折叠?