[原创]关于ajax中eval()解析函数(json反馈值)报错问题

昨天碰到一个小问题
在一个ajax效果实现的时候,火狐报错,内容意思大概是“函数字符串解析错误”,于是用alert(),发现

var result = eval(xmlhttp.responseText);

这句eval函数报错,xmlhttp.responseText可以正常弹出,但只要是eval函数一解析,就会报错,并且不显示数据;蛋疼的我只好在一般处理程序中开始设置断点,查询错误,不知道原因的我一开始就将问题锁定在了反馈值这上面,但发现字符串的json格式没有问题~,内容也都OK,虽然看到了几个<br />,但是没有在意(话说回来,哪个公司的合格的编辑人员会在标题里打回车??我作为一个程序员都明白编辑人员的一些基本操作要求和常识,能在这么大的公司里遇到这种编辑组,我真tm是荣幸!)
于是纠结的我,在百度上查询了eval相关的函数,发现原来eval函数在解析的时候,不能在字符串里含有"\r""\n""<br />"换行符,于是在一般处理程序返回的时候,我对字符串进行了替换字符处理

result = result.Replace("\n", "").Replace("\r", "").Replace("<br />","");

最后问题得到了解决~
总结:问题不大,但是可以看到一些不爽的地方,先说自己的问题,作为一个程序,明知道输出的是title标题类型的数据,就应该对字符串进行相应的处理,这是其一;其二,了解的东西较少,导致解决问题效率降低。这是自身存在的两大问题,应该及时改变!希望各位大菜鸟给我这个小菜鸟提提建议。。。让我也能尽早的飞起来~

posted @ 2011-08-11 13:57  Scorpion兰  阅读(1158)  评论(0编辑  收藏  举报