JSON解析错误在一个系统中我没有't构建

JSON parse error in a system I didn't build

本文关键字:构建 系统 一个 错误 JSON      更新时间:2023-09-26

我最近的任务是将intranet系统从一个旧服务器转移到一个新服务器。它使用了很多YUI库,以及我没有经验的javascript/json。当我试图加载其中一个页面时(我无法将您链接到它,因为它是内部网),我会收到这样的错误:(我试图打印出任何变量或东西,以防有帮助。

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

此错误是由以下尝试/捕获引起的:

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一无所知,如果你需要了解其他信息,请告诉我。

您必须知道o.responseText是什么,因为o作为Object并不能真正显示所讨论的JSON字符串是什么。将警报更改为:

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

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

看起来o.responseText不是有效的JSON-你能在调试中打印出来吗?

如果你能得到responseText,你可以通过JSON验证器运行它,比如http://jsonlint.com这将使您了解错误的位置。