getJson不返回文件内容

时间:2018-08-15 06:17:12

标签: jquery tornado

我有这个jquery请求,jsonView是开源的漂亮打印json字符串的方式:

$('#element2').jsonView($.getJSON("snapshot1.json",function(result){
        return result;
    }));

龙卷风服务器端代码:

class JsonHandler1(tornado.web.RequestHandler):
    def get(self):
        print("SENT SNAPSHOT1")
        self.render("snapshot1.json")

但是,这将返回

{
"readyState": 1,
"getResponseHeader": ,
"getAllResponseHeaders": ,
"setRequestHeader": ,
"overrideMimeType": ,
"statusCode": ,
"abort": ,
"state": ,
"always": ,
"catch": ,
"pipe": ,
"then": ,
"promise": ,
"progress": ,
"done": ,
"fail":}

代替 snapshot1.json 文件中的内容。我在服务器端控制台中收到“ SENT SNAPSHOT”。因此,我确定它肯定会被调用,并且文件也位于同一目录中。

我还做错什么了吗?

1 个答案:

答案 0 :(得分:2)

$.getJSON不返回JSON数据-由于它在必须检索数据之前异步返回,因此不能返回。您需要在成功函数中使用数据。

EG

$.getJSON("snapshot1.json",function(result){
        $('#element2').jsonView(result);
});