Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向Web2py中的视图传递JSON时出现问题_Json_Web2py - Fatal编程技术网

向Web2py中的视图传递JSON时出现问题

向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

编写了一个非常简单的函数,用于从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_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}中使用“=”