今天碰到一个问题
js里面调用返回一个json格式数, 主要用了显示用的, 但是在一些浏览器上面总是报错: 缺少“;” , ie8, ie9, 也是有的报错, 有的不报错
上网搜索一下, 但是没有一个具体的合适的方法
var retValue = "{\'bulletin_type\':\'20\',\'bulletin_email\':\'\',\'mark_enddate\':\'2013-05-27\',\'bidbook2_endbuydate\':\'2013-05-31\',\'project_type\':\'火电\',\'project_fact_enddate\':\'2013-06-10\',\'bulletin_desc1\':\'内蒙盛乐\',\'bidbook2_feetype\':\'电汇\',\'bulletin_desc5\':\'\',\'bulletin_linkphone\':\'13811796307\',\'bulletin_fax\':\'\',\'project_fact_usedate\':\'2013-06-10\',\'bulletin_linker\':\'abc\',\'project_code\':\'0000001002\',\'agentistt_name\':\'北京责任公司\',\'project_name\':\'内蒙古机组工程(第2批招标)\',}\r\n"
var obj = eval("(" + retValue + ")");
这个地方有2中写法
1、
var obj = eval( retValue);
报错: 数据没有结束
2、
var obj1 = eval("(" + retValue + ")");
报错:缺少“;”以上方法都不能解决这个问题。
最终经过反复测试使用如下方法解决问题,经测试还没有发现有报错的地方。
var obj1 = eval("(" + retValue + ")"); var obj = obj1[0];