js局部刷新div时,在innerHTML的返回的内容的时候会出现引号,例如这样的形式:
{"intList":3,"name[0]":"<a href='docsendMain_view.jsp?strWorkId=14484410548912767&strWorkDetailId=1448441140492019' class='mui-navigate-right'> 测试001 <br> <span class='type'></span> <span class='person'>系统管理员</span> <span class='time'>2015-11-25</span></a>","name[1]":"<a href='docsendMain_view.jsp?strWorkId=14482573729797928&strWorkDetailId=1460600379013002' class='mui-navigate-right'> ztt测试发文拟稿搜狗浏览器 <br> <span class='type'></span> <span class='person'>系统管理员</span> <span class='time'>2015-11-23</span></a>","name[2]":"<a href='docsendMain_view.jsp?strWorkId=14482485992117092&strWorkDetailId=1448250692731388' class='mui-navigate-right'> ztt测试发文拟稿11月23日 <br> <span class='type'></span> <span class='person'>系统管理员</span> <span class='time'>2015-11-23</span></a>"}
那么js对json进行解析的时候,就会出现不能解析的问题...
疑难问题及解决方法:
1.将json数据中的单引号全部替换为#号;
<pre name="code" class="java">result = result.replaceAll("'","#");
result = result.replaceAll("'","#");
2.返回给js时,js对name[0],name[1]的读取;
dataObj进行接收json数据.....
<pre name="code" class="javascript">var result = xhr.responseText ;
var dataObj = eval("("+result+")");//js执行ajax返回的json数据,需要先这样处理
var content = dataObj["name["+i+"]"];
3.js将#号替换为单引号的方法;
<pre name="code" class="javascript">content = content.replace(/\#/g, "'");//替换#号
content = content.replace(/\</g, "<");//替换<号
content = content.replace(/\>/g, ">");//替换>号