龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

javascript中eval返回json值出现Error: Invalid Label解决办法

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
我们经常会在服务器端返回 json 格式的值,这样可以直接在脚本中当作完整的对象来使用,但是,许多新手通常都会遇到一个错误提示: Invalid Label ,这个问题通常会让人苦恼不堪,因
我们经常会在服务器端返回 json 格式的值,这样可以直接在脚本中当作完整的对象来使用,但是,许多新手通常都会遇到一个错误提示: Invalid Label ,这个问题通常会让人苦恼不堪,因为明明正确的 json 格式,却提示错误。

假如你从服务器端返回的是 json 格式的字符串:

 代码如下

{
    siteName : "111cn.net",
    siteUrl : "http://www.111cn.net"
}

当你在脚本中用 eval 的方式运行:

 代码如下

var result = eval(o.responseText);
alert(result.siteName);

这时会提示 : Error: Invalid Label

实际上,我们的 json 格式并没有错误,只是在 eval 的时候,要把你的 json 值用 “()” 括号括起来:

 代码如下

var result = eval("(" + o.responseText + ")");
alert(result.siteName);

呵呵,这个往往最容易忽略,但是一旦有错误,往往也最让人头痛:)


精彩图集

赞助商链接