我有这个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”。因此,我确定它肯定会被调用,并且文件也位于同一目录中。
我还做错什么了吗?
答案 0 :(得分:2)
$.getJSON
不返回JSON数据-由于它在必须检索数据之前异步返回,因此不能返回。您需要在成功函数中使用数据。
EG
$.getJSON("snapshot1.json",function(result){
$('#element2').jsonView(result);
});