Js处理Json的”invalid label”错【转载】
- 作者: Laruence
- 本文地址: http://www.laruence.com/2008/09/01/492.html
- 转载请注明出处
当你使用ajax的时候,json是一个很方便的数据传输手段.
但是对于很多人来说,经常会遇到的一个很令人头疼的问题就是”invalid label”错. 明明json串看起来是对的,怎么还会出错呢?
比如,如下的代码:
function handle_success(response){
var json = eval(response); // response = "{'foo' : 'bar'}";
}
浏览器会报,invalid label错, 这是因为, eval会尝试将你的response解释为一个label, 当你在脚本中直接写:
<script>
{'foo' : 'bar'};
</script>
会报错的原理是一样的.
解决办法有俩个:
var json = eval('(' + response + ')'); // response = "{'foo' : 'bar'}";
或者
eval('var json = ' + response); // response = "{'foo' : 'bar'}";
//json is available now
posted on 2012-02-20 12:03 pinocchioatbeijing 阅读(198) 评论(0) 编辑 收藏 举报