【问题标题】:How to pass data from python to javascript in web2py如何在 web2py 中将数据从 python 传递到 javascript
【发布时间】:2015-07-04 03:21:20
【问题描述】:

我看到一些与我的查询相关的帖子。

Tornado 在以下链接中使用 How to pass variable from python to javascript

我知道它可以使用 json 来完成,但我不清楚如何实现它。 在 web2py 默认控制器中,我返回一个包含纬度和经度的字典。

def index():
    lat_long_list=[]
    info1 = {'lat':'1.0032','long':'2.00003','name':'Akash'}
    info2 = {'lat':'1.2312','long':'-1.0034','name':'Kalyan'}
    lat_long_list.append(info1)
    lat_long_list.append(info2)
    return dict(lat_long_list=lat_long_list)

在 java 脚本中,我想遍历字典列表并在谷歌地图上标记点。

我不能说

<script>
 {{ for lat_long_rec in lat_long_list :}}
 var name = {{=lat_long_rec['name']}}
 {{ pass }}
</script>

这失败了。处理此问题的另一种方法是将列表写入 xml 并从 javascript 读取文件,但我不想以这种方式实现它,因为写入文件是非性能的。让我知道如何做到最好。

【问题讨论】:

    标签: javascript python web2py


    【解决方案1】:

    将 Python 列表转换为 JSON 并将其传递给视图以插入到 Javascript 代码中:

        from gluon.serializers import json
        return dict(lat_long_list=json(lat_long_list))
    

    在视图中:

    <script>
        ...
        var latLongList = {{=XML(lat_long_list)}}
        ...
    </script>
    

    【讨论】:

    • 您好安东尼,感谢您的回复。我试过了,它不工作。我检查了 html 页面的源代码,我看到了以下内容。 var v = [{'lat': '1.0032', 'name': 'Akash', 'long& #x27;: '2.00003'}, {'lat': '1.2312', 'name': 'Kalyan x27;, 'long': '-1.0034'}]
    • 使用 XML 已经解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    相关资源
    最近更新 更多