![](/img/trans.png)
[英]how to call a get web service from javascript when the data returned by web changes?
[英]How to reference returned data in javascript from a web framework like bottle?
我想查询我的数据库,并将结果返回给javascript。
我使用瓶子提供的javascript文件
@app.route('/static/<filename:path>', name='static')
def send_static(filename):
return static_file(filename, root='static')
并且我不确定我是否正确执行此操作,但是我添加了另一条路由来指定应由哪个js文件获取它。
@app.route('/static/js/app.js')
def ello():
cur.execute("SELECT * FROM places")
places= cur.fetchall()
return {'places':places}
然后在该app.js文件中,我希望能够执行以下操作:
console.log(places);
但是我不确定如何逃避它。 我正在将mako用于html模板,效果很好,但是我尝试过的javascript结果都在
Uncaught SyntaxError: Unexpected token {
如此处建议的那样: https : //stackoverflow.com/a/14157401/1543640
在我看来,您正在尝试通过Python 创建一个JavaScript文件。 听起来这在两个世界之间交换数据非常尴尬且不方便。
在前端(JavaScript)和后端(在您的情况下为Python应用程序)之间进行通信的一种常见做法是通过JSON (反过来就是 JavaScript)。 在最基本的层次上,您可以让Python应用程序构造有效的JSON,并使其在特定路径上可用,以供JavaScript使用。
一个例子是:
@app.route('/some/route/to/consume')
def fetch():
"""
Fetch all the fancy stuff from the database.
"""
db = Database()
# Fetch all records, convert them into JSON
result = json.dumps(db.get_stuff())
return result
此函数将从数据库中获取所有记录(使用虚拟函数db.get_stuff()
),然后将结果转换为有效JSON并返回。 重要的一点是Python json
模块中的json_dumps()
函数。 它将有效的Python数据结构转换为有效的JSON数据结构。
接下来,您应该编写您的实际JavaScript文件以使用该JSON,并让它做您想做的任何事情。 例如,这可以通过XHR调用(AJAX)完成。
如果将在您的路线上公开的数据不是公开的,请记住通用的安全做法,并保护该路线以免受到不必要的注意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.