2012-08-02 58 views
1

我最近的任务是将Intranet系统从一台旧服务器移动到一台新服务器。它使用了很多YUI库,以及我没有经验的javascript/json。当我尝试加载其中一个页面时(我无法将其链接到它,作为其Intranet),我得到如下错误信息:(我曾尝试打印出任何可帮助的变量或事情)我没有构建系统中的JSON解析错误

e: SyntaxError: parseJSON 
o: [object Object] 
data: undefined 

此错误是由以下的try/catch长大。

var loadData = function(data) { 
    if(data) 
     data += '&offset=' + offset; 
    else 
     data = 'offset=' + offset; 

    var callback = { 
     success: function(o) { 
      try { 
       var data = YAHOO.lang.JSON.parse(o.responseText); 
      } catch(e) { alert('e: ' + e + '\no: ' + o + '\ndata: ' + data} 

我真的不知道是什么JSON是什么,但即时通讯假设它不是从什么地方得到(右)数据是问题在这个网页或其他地方?

编辑:我很欣赏这可能不足以满足信息t排除故障,我不知道任何关于JSON/YUI,只是告诉我,如果你需要知道别的东西。

回答

2

您必须知道o.responseText是因为oObject并不真正显示问题中的JSON字符串是什么。将警报更改为:

alert('e: ' + e + '\no.responseText: ' + o.responseText + '\ndata: ' + data); 

可能有助于诊断问题。除非您解释什么是JSON字符串以及它来自哪里,否则没有人可以回答您问题是否在该页面上。

+0

http://i.imgur.com/5ebfC.png – Andy 2012-08-02 10:38:05

+0

这是来自这些行的代码:所以我假设有东西被张贴在那里,但我不知道什么... \t第7行:$ JSON = json_decode($ _ POST ['JSON']); \t \t第9行:if($ JSON-> Depot) \t \t $ filter =“AND'Site' ='”。 $ JSON->仓库。 “'”; – Andy 2012-08-02 10:39:33

+1

这里你去,问题是在dmrlist.php。尝试使用PHP标记重新发布您的问题并引用PHP代码,因为它似乎是您的PHP代码而不是JavaScript的问题。 – rsp 2012-08-02 10:42:27

1

看起来像o.responseText是无效的JSON - 你可以打印出你的调试吗?

+0

http://i.imgur.com/5ebfC.png – Andy 2012-08-02 10:38:11

1

如果你能够接触到responseText,你可以通过一个像http://jsonlint.com这样的JSON验证器来运行它,它可以让你了解错误的位置。