向Web2py中的视图传递JSON时出现问题
编写了一个非常简单的函数,用于从espn api中提取数据并以默认值/索引显示。但是,默认/索引是空白页 在这一点上,我甚至不想通过JSON解析——我只想在我的浏览器上看到一些东西 default.py:向Web2py中的视图传递JSON时出现问题,json,web2py,Json,Web2py,编写了一个非常简单的函数,用于从espn api中提取数据并以默认值/索引显示。但是,默认/索引是空白页 在这一点上,我甚至不想通过JSON解析——我只想在我的浏览器上看到一些东西 default.py: import urllib2 import json #espn_uri being pulled from models/db.py def index(): r = urllib2.Request(espn_uri) opener = urllib2.build_op
import urllib2
import json
#espn_uri being pulled from models/db.py
def index():
r = urllib2.Request(espn_uri)
opener = urllib2.build_opener()
f = opener.open(r)
status = json.load(f)
return dict(status)
default/index.html:
{{status}}
谢谢大家! 尝试:返回dict(状态=状态)
return dict(status)之所以有效,是因为status本身就是一个dict,而dict(status)只是复制它。但它可能没有名为status的键,或者至少没有什么有趣的东西
是的,您需要=。正如JLundell建议的,首先通过字典返回配对数据:
return dict(my_status=status)
其次,正如您所做的那样,使用以下命令访问返回的变量,而不是index.html中的局部变量。确保在此处使用等号,否则将不显示任何内容
{{=my_status}}
对于JSON,您可以使用
return my_status.json()
其他几个选项可用于以列表形式返回数据,或返回HTML
最后,我建议您使用jQuery和AJAX($.AJAX),以便可以轻松地将AJAX返回值分配给JS对象。这也将允许您以JS函数的形式处理成功或错误。修复了它:我犯了一个非常基本的错误-用于django表示法,Web2py需要在视图{{=statuses}中使用“=”