py向jQuery返回无效的JSON

py向jQuery返回无效的JSON,jquery,python,json,firefox,web.py,Jquery,Python,Json,Firefox,Web.py,在我的web.py应用程序中,我有这样一个类 class region_info(object): def GET(self,region=''): rtnDict = { 'regionExists': False, 'regionInfo': { 'name': 'Unknown Region', 'sum_information': 'No Summary

在我的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”:“区域的摘要信息在这里,可以是长\n多行的”,“name”:“区域名称”}

表示这是有效的JSON

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

我的JSON响应真的有什么问题吗

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


我调试代码失败。我返回一个JSON字符串,其格式如下

'regionExists': false,
'regionInfo': {
    'country': "A country",
    'sum_information': "Summary information"
}
div没有更新,因为我试图从
result.country
获取数据,而不是
result.regionInfo['country']


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

这是有效的。确保json之前没有多余的行或空格。@KevinB,在我在响应中发布的内容之前没有多余的行或空格。在Firefox中查看响应源显示第一个字符位于第1行第1列。