我正在尝试为日志显示创建一个简单的web应用程序。在web端:Python3.4和flask,在客户端是带有ajax的简单web表单。
烧瓶:
import json
from flask import Flask, jsonify, render_template, request
app = Flask(__name__)
@app.route('/json_test', methods=['GET'])
def json_test():
return open('log.json').read()
@app.route('/')
def index():
return render_template('layout.html')
if __name__ == '__main__':
app.run(debug=True)
我的HTML表单
<!DOCTYPE html>
<script type=text/javascript src="{{
url_for('static', filename='jquery.js') }}"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{
url_for('static', filename='jquery.js') }}">\x3C/script>')</script>
<script type=text/javascript>
$LOG = {{ request.script_root|tojson|safe }};
</script>
<script type=text/javascript>
$(function() {
$('a#log').bind('click', function() {
$.getJSON($LOG + '/json_test',
function(data){
$("#logs").text(data.result);
});
return false;
});
});
</script>
<p>
<span id=logs>Logs should be here</span>
<a href=# id=log>take log</a>
</p>
</html>
下面是我的JSON示例:
{
"data":
{
"misc":
[
{
"name" : "JSON 1",
"type" : "1"
},
{
"name" : "JSON 2",
"type" : "2"
}
]
}
}
我想每隔5秒发送一部分日志。为此,我计划使用js函数: setInterval。我说的对吗?
发布于 2014-09-01 18:47:52
您的JSON数据没有result
密钥。相反,您有一个data
密钥。
但是,将data.data
结果放在<span>
中只会插入文本[object Object]
;您需要插入实际的文本。您可以使用JSON.stringify()
将对象转换回JSON文本
$("#logs").text(JSON.stringify(data.data));
或者你可以发送一些更有意义的东西。
https://stackoverflow.com/questions/25601130
复制相似问题