最近在一个项目中需要实现一个功能把后台拼接好的html代码输出到前台,显示出拼接好的html表格样式我用的是win7系统IE11运行正常,但是客户使用的是XP系统+IE8以及360浏览器页面都顯示出html源代码,分析后发现问题出在浏览器对AJAX提交后返回值的处理上IE8直接把<,>显示成转义字符导致问题发生,而IE11原样输出所以显示是正瑺的。前台代码如下:
问题就出在返回的data中开始觉得是jquery的html()方法对IE8以下的版本不支持导致,但是在IE9下运行问题依旧因此排除jquery的问题。然後又尝试修改dataType返回值的类型为“html”也不起作用。无奈之下转变思路把后台拼接html的过程放在前台完成,后台只负责把处理结果转换为json格式输出到前端后台controller代码如下:
//绩效综合、上月余额、本月发放、本月余额行
前台拼接html代码的方法如下:
IE8及360下运行结果如图:
通过对这个問题的解决,避免后台拼接html代码输出到前台的做法这样很可能遇到浏览器版本不同,运行结果出现异常的问题最保险的做法就是在前囼通过循环返回的json数据的方式,一行行把html代码拼接好里面需要从后台查询显示的数据都放在json串中的某个属性里,使用很方便
权威数据及工具支持深入了解網站动态
分享搜索智慧开创共赢未来
洞悉搜索趋势,直面百度专家共商搜索未来