欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

ckeditor 上传 返回时显示js代码

最近使用ckeditor做上传图片的功能,做成功后在本地运行正常。部署到linux服务器之后,图片上传成功了,但是没有跳转到到预览框里去,却在原先的页面显示出这段js代码: 
Javascript代码  收藏代码
  1. <script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(2,'http://img.shangshangw.com/upload/commodity/20120406/201204061740421341.jpg''');</script>  
并没有执行。 

我百思不得其解,后来通过火狐我发现返回的代码被转义了: 
Javascript代码  收藏代码
  1. <pre>&lt;script type='text/javascript'&gt;window.parent.CKEDITOR.tools.callFunction(2,'http://img.shangshangw.com/upload/commodity/20120406/201204061740421341.jpg''');&lt;/script&gt;</pre>  

问题虽是找到了,但一直不知如何解决,又经过几番琢磨,发现了问题,原来是在后台向前台输出脚本时,没有指定contentType格式,这样写就木有问题了: 
Java代码  收藏代码
  1. HttpServletResponse response = ServletActionContext.getResponse();  
  2. // 设置headers参数  
  3. String fullContentType = "text/html;charset=UTF-8";  
  4. response.setContentType(fullContentType);  
  5. out = response.getWriter();  
  6. out.write("<script  type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(" + this.CKEditorFuncNum  
  7.              + ",'" + getUploadRootPath() + path + "/"  
  8.              + this.newImageFileNames[0] + "');</script>");  

我勒个去,网上也没有相关资料,忧郁了我一个星期。分享给大家,能否给大家带来些帮助。
 
评论
太感谢了,搞了我好久没找到原因,一直以为是前端的配置问题!

普通分类: