帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
29
帖子
0
勋章
4091
Y币
发表于 2018-1-29 00:45:44
5
已解决

求助!!api.ajax遍历html字符串是不正常显示! [复制链接]

  • 发表于:2018-01-29 00:45:44
求助!!api.ajax遍历html字符串是不正常显示!
各位大神们,小弟在Api.ajax中获取到了后台端来的一段HTML 字符串数据,在遍历的时候总是显示文本字符串,而不是正常HTML,请问如何解决!
我用$ajax调用,用$().html()遍历是正常的!就是api.ajax调用后,用$api.append(el,HTML); 遍历就显示不正常!
11.png

11.png
11.png
12.png
maokun00
13
帖子
6
勋章
105
Y币
最佳答案
正在给别人弄的一个javaweb小程序,为预防js注入,只要是前端提交的数据经过过滤器都要先处理一遍
13
帖子
6
勋章
105
Y币
初级码农 发表于 2018-7-7 11:33
有时候后端存储富文本时会进行一系列处理。从数据库拿数据又会正在处理一次。 ...
  1. @Override
  2.     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
  3.         HttpServletRequest request = (HttpServletRequest) servletRequest;
  4.         Enumeration enu=request.getParameterNames();
  5.         while(enu.hasMoreElements()){
  6.             String paramName=(String)enu.nextElement();
  7.             request.getParameter(paramName).replaceAll("<","&lt").replaceAll(":",":");
  8.         }
  9.         filterChain.doFilter(request,servletResponse);
  10.     }
复制代码


正在给别人弄的一个javaweb小程序,为预防js注入,只要是前端提交的数据经过过滤器都要先处理一遍
29
帖子
0
勋章
4091
Y币
小弟找了个正则替换搞定了!
29
帖子
0
勋章
4091
Y币
/*4.用正则表达式实现html解码*/
function htmlDecodeByRegExp (str){
    var s = "";
    if(str.length == 0) return "";
    s = str.replace(/&amp;/g,"&");
    s = s.replace(/&lt;/g,"<");
    s = s.replace(/&gt;/g,">");
    s = s.replace(/&nbsp;/g," ");
    s = s.replace(/&#39;/g,"\'");
    s = s.replace(/&quot;/g,"\"");
    return s;
}
18
帖子
1
勋章
106
Y币
666666666666666
29
帖子
0
勋章
4091
Y币
/*4.用正则表达式实现html解码*/
function htmlDecodeByRegExp (str){
    var s = "";
    if(str.length == 0) return "";
    s = str.replace(/&amp;/g,"&");
    s = s.replace(/&lt;/g,"<");
    s = s.replace(/&gt;/g,">");
    s = s.replace(/&nbsp;/g," ");
    s = s.replace(/&#39;/g,"\'");
    s = s.replace(/&quot;/g,"\"");
    return s;
}
13
帖子
6
勋章
105
Y币
一般网站在你输入信息的时候为了防止js注入,再往后台传输的时候都要做一些转码的,<  >  还有英文的:
6
帖子
7
勋章
198
Y币
讲道理,让后台处理好啊!
13
帖子
6
勋章
105
Y币
初级码农 发表于 2018-7-7 11:23
讲道理,让后台处理好啊!

这种事作为一个开发人员来说,还是在前端处理比较好,毕竟前端在用户的手机,后端是自己的服务器,前端能处理的就不要给服务器添麻烦了
6
帖子
7
勋章
198
Y币
maokun00 发表于 2018-7-7 11:27
这种事作为一个开发人员来说,还是在前端处理比较好,毕竟前端在用户的手机,后端是自己的服务器,前端能 ...

有时候后端存储富文本时会进行一系列处理。从数据库拿数据又会正在处理一次。
12下一页
您需要登录后才可以回帖 登录

本版积分规则