我没有构建的系统中的JSON解析错误

时间:2012-08-02 10:28:26

标签: javascript json parsing yui

我最近的任务是将内部网系统从一台旧服务器迁移到一台新服务器。它使用了很多YUI库,以及我没有经验的javascript / 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是什么,但我假设它没有从某个地方得到(正确的)数据。问题出在本页或其他地方吗?

编辑:我很感激这可能不是解决问题所需的足够信息,我对JSON / YUI一无所知,只要告诉我是否需要了解其他内容。

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

看起来o.responseText无效JSON - 您可以在调试中打印出来吗?

答案 2 :(得分:1)

如果你可以开始使用responseText,你可以通过像http://jsonlint.com这样的JSON验证器运行它,它可以让你知道错误的位置。