如何从Python返回值作为JSON?

时间:2012-07-04 16:06:03

标签: jquery python ajax json

我从如下的jQuery文件发送ajax请求,该文件需要JSON中的响应。

jQuery.ajax({
    url: '/Control/getImageDetails?file_id='+currentId,
    type: 'GET',
    contentType: 'application/json',
    success: function (data){
        alert(data);
    }
 });
});

在Python上,我发送了对Ajax请求的响应:

 record = meta.Session.query(model.BannerImg).get(fid)
 return_info = [record.file_id, record.filename, record.links_to]
 return result_info

这会以纯文本形式返回参数,因此无法将其作为不同的值进行读取。我相信当JSON解决这个问题时发送来自python的响应。我以前使用过JSON。如何以JSON形式返回响应?

2 个答案:

答案 0 :(得分:13)

return json.dumps(return_info)

主要问题是

 return_info = [record.file_id, record.filename, record.links_to]

因为JSON格式通常类似于

示例:

json.dumps({'file_id': record.file_id, 'filename': record.filename , 'links_to' : record.links_to})

如果您使用[object Object]

,则您将收到的邮件为alert(data)

如果您使用示例

,请使用alert(data.file_id);

答案 1 :(得分:3)

使用json模块中的功能对其进行编码。