ajax提交富文本,内容被截断,解决方法及思路
2016-08-14 23:19
141 查看
问题描述:
使用百度的UEditor富文本插件用于前端富文本编辑,后端使用jsp,提交普通文本没有问题,后来发现在提交某些指定文本时,数据查回的数据出现不完整现象;第一件事就是想到“垃圾编辑器”🙄,但是此时项目已经上线,再次重构时间成本太高,没办法只好硬着头皮->“调试”😌。
解决思路:
前端获取控件内容不完整,开启前端调试:结果是有内容且完整
那完了,前端有,是不是后端没有取到值,调试了一下后端,果然:
我开始怀疑人生了😱像这种情况还能怎么办,那只有一种可能了,在向服务器提交时字符被截断了
抽根烟,平复一下心情,点开了百度,输入关键字:ajax 提交富文本 数据截断
发现这条和我的很像,阅读,测之
原来是包含特殊符号"&":提交的时候某个字段的值中包含有"&"符号,比如参数a=111&11,参数b=22222这样组合成连接字符串 QuestionnaireAction?action=default&a=1111&11&b=2222就会有问题!!
搜嘎,富文本包含特殊符号
那怎么解决呢?
方式一、用encodeURIComponent编码
方式二、ajax form验证
ajax提交如下
方式三,使用{"":""}组合数据
使用百度的UEditor富文本插件用于前端富文本编辑,后端使用jsp,提交普通文本没有问题,后来发现在提交某些指定文本时,数据查回的数据出现不完整现象;第一件事就是想到“垃圾编辑器”🙄,但是此时项目已经上线,再次重构时间成本太高,没办法只好硬着头皮->“调试”😌。
解决思路:
前端获取控件内容不完整,开启前端调试:结果是有内容且完整
那完了,前端有,是不是后端没有取到值,调试了一下后端,果然:
我开始怀疑人生了😱像这种情况还能怎么办,那只有一种可能了,在向服务器提交时字符被截断了
抽根烟,平复一下心情,点开了百度,输入关键字:ajax 提交富文本 数据截断
发现这条和我的很像,阅读,测之
原来是包含特殊符号"&":提交的时候某个字段的值中包含有"&"符号,比如参数a=111&11,参数b=22222这样组合成连接字符串 QuestionnaireAction?action=default&a=1111&11&b=2222就会有问题!!
搜嘎,富文本包含特殊符号
那怎么解决呢?
方式一、用encodeURIComponent编码
data=encodeURIComponent(data);
方式二、ajax form验证
data=$("#from").serialize();
ajax提交如下
data="param="+data; $.ajax({ type:"POST", url:"test", data:data,////如果包含&字符的字符串会出现错误 success:function(str){ ...... } });
方式三,使用{"":""}组合数据
$.ajax({ type:"POST", url:"test", data:{"param":data},//使用此方式提交可避免字符串中特殊字符带来的数据截断的问题 success:function(str){ ...... } });
修改后的代码如下: beautiful,完美解决 将思路及解决方案分享给大家,希望能帮助到大家
原文由博主 乐智 编辑撰写,版权归博主所有。
原文地址 http://www.dtblog.cn/1052.html 转载请注明出处!
相关文章推荐
- ajax提交富文本,内容被截断,解决方法及思路
- 用ajax提交富文本,字符串被截断的解决方法
- php ajax提交post请求出现数组被截断情况的解决方法
- ajax提交表单时CKEDITOR不实时更新字段内容解决方法
- jquery.form.js的ajax提交,CKEditor编辑器内容丢失问题的解决方法!
- jquery中ajax方法提交数据时,中文乱码问题解决。
- C#编程实现Excel文档中搜索文本内容的方法及思路
- ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法
- c#:ajaxForm提交input File 文件 与 IE的冲突解决方法
- FCKeditor firefox Ajax提交,内容为空.解决.
- ajax提交后台获取是乱码解决方法
- jsp无法提交nicEdit中的内容的解决方法
- Ajax提交表单中文乱码的一种解决方法
- Asp中使用JQuery的AJAX提交中文乱码解决方法
- FCKeditor提交失败返回内容变html的解决方法
- fckeditor提交失败返回内容变html的解决方法
- jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法
- JQuery中Ajax的Post提交在IE下中文乱码的解决方法
- jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
- Ajax $.ajax() 提交数据出现中文乱码的时候解决方法