0

在我的 web.py 应用程序中,我有这个类

class region_info(object):
    def GET(self,region=''):
        rtnDict = {
            'regionExists': False,
            'regionInfo': {
                'name': 'Unknown Region',
                'sum_information': 'No Summary Information Available'
            }

        }

        if region and region != 'world':
            rtnDict['regionExists'] = True
            rtnDict['regionInfo']['name'] = 'The region Name'
            rtnDict['regionInfo']['sum_information'] = """The region's summary information goes here and can be long
            and multilined"""

        web.header('Content-Type', 'application/json')
        return json.dumps(rtnDict)

我有这个 JavaScript 函数:

function loadRegionInfo(code)
{
    jQuery.ajax(
    {
        type: "GET",
        url: "/map/regioninfo/"+code,
        dataType: "json",
        success : function(result)
            {
                if (result.regionExists == true )
                {
                    $("#country-info-header").text(result.name);
                    $("#country-info-summary").html(result.sum_information);
                }

            }
    });
}

在 FireBug 中,我得到如下所示的数据:

{"regionExists": true, "regionInfo": {"sum_information": "The region's summary information goes here and can be long\n and multilined", "name": "The region Name"}}

JSONLint.com说这是有效的 JSON

然而,Firefox 告诉我它“格式不正确”。由于这个错误,我假设我的 jQuery.ajax 调用中的成功函数正在下降,因为我的 DIV 没有按预期更新。不幸的是,我不确定这是否真的是这样,因为 Chrome 不会报告同样的错误。

我的 JSON 响应实际上有什么问题吗?

如果它是有效的,为什么我的 DIV 没有正确更新我的错误是什么?

火狐错误信息

4

1 回答 1

0

我在调试我的代码时失败了。我正在返回具有这种格式的 JSON 字符串

'regionExists': false,
'regionInfo': {
    'country': "A country",
    'sum_information': "Summary information"
}

DIV 没有更新,因为我试图从result.countrynot获取数据result.regionInfo['country']

根据 Firebug,JavaScript 错误实际上是 XML 错误,而不是 JSON 错误。

于 2013-08-06T20:06:57.200 回答