jquery ff中遇到Json的”invalid label”错 解决方法

当你使用ajax的时候,json是一个很方便的数据传输手段.
但是对于很多人来说,经常会遇到的一个很令人头疼的问题就是”invalid label”错. 明明json串看起来是对的,怎么还会出错呢?

比如,如下的代码:

  1.    function handle_success(response){
  2.        var json = eval(response); // response = "{'foo' : 'bar'}";
  3.   }

浏览器会报,invalid label错, 这是因为, eval会尝试将你的response解释为一个label, 当你在脚本中直接写:

  1. <script>
  2.   {'foo' : 'bar'};
  3. </script>

会报错的原理是一样的.

解决办法有俩个:

  1.          var json = eval('(' + response + ')'); // response = "{'foo' : 'bar'}";
  2.  

或者

  1.        eval('var json = ' + response); // response = "{'foo' : 'bar'}";
  2.        //json is available now
  3.  

posted on 2011-08-05 23:07  cestarme  阅读(354)  评论(0编辑  收藏  举报