当 eval 返回的 json 值时,提示 Error: Invalid Label

作者: CodeBit.cn     来源: http://www.codebit.cn     时间: 2008-01-08 23:34:48
摘要: 我们经常会在服务器端返回 json 格式的值,这样可以直接在脚本中当作完整的对象来使用,但是,许多新手通常都会遇到一个错误提示:Invalid Label ,这个问题通常会让人苦恼不堪,因为明明正确的 json 格式,却提示错误。如果你遇到此问题,那赶快看看本文的内容吧!
归类: Ajax,

关键词: Invalid, json, eval, responseText, ajax, Label,


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

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

Javascript:
  1.  
  2. {
  3. siteName : "CodeBit.cn",
  4. siteUrl : "http://www.CodeBit.cn"
  5. }
  6.  


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

Javascript:
  1.  
  2. var result = eval(o.responseText);
  3. alert(result.siteName);
  4.  


这时会提示 : Error: Invalid Label


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

Javascript:
  1.  
  2. var result = eval("(" + o.responseText + ")");
  3. alert(result.siteName);
  4.  



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


推荐链接:(联系 QQ :326801485)