码迷,mamicode.com
首页 > Web开发 > 详细

ajax提交富文本,内容被截断,解决方法及思路

时间:2016-08-15 00:11:48      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:

使用百度的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提交富文本,内容被截断,解决方法及思路

标签:

原文地址:http://www.cnblogs.com/AIThink/p/5771366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!