まず、私の無知を許してください、私はこれらすべてに非常に慣れていません。
私の問題は、座標のmongodbに保存されているjsonデータをクライアントブラウザーに送信しようとしていることです。Twitter のストリーミング API を使用して DB に格納する python モジュールがあります。これは正常に動作しますが、これをクライアントに送信しようとすると、サーバー端末がより多くのデータを取得しているのを確認できても、何も表示されません。私はこれまで Flask や JQuery を使用したことがないので、http://flask.pocoo.org/docs/patterns/jquery/の例に基づいています。
これは私のコードです:
from flask import Flask, jsonify, render_template, request
from pymongo import Connection
app = Flask(__name__)
@app.route('/_reader')
def reader():
db = Connection().tstream
coll = db.tweets_tail
cursor = coll.find({"coordinates.type" : "Point" }, {"coordinates" :1},tailable=True,timeout=False)
ci=0
while cursor.alive:
try:
doc = cursor.next()
ci += 1
print doc
print ci
except StopIteration:
pass
return jsonify(ci, doc)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True, port= 8888)
これは私のhtmlクライアント側です:
{% extends "layout.html" %}
{% block body %}
<script type=text/javascript>
$(function() {
$.getJSON($SCRIPT_ROOT + '/_reader',
function(data) {
$("#result").text(data.result);
});
return false;
});
</script>
<h1>Coordinates</h1>
<p>
<span id=result>?</span>
{% endblock %}
新しい座標データが受信され、これがクライアントにプッシュされることを願っています。
誰かが助けてくれることを願っています。
ありがとう