0

まず、私の無知を許してください、私はこれらすべてに非常に慣れていません。

私の問題は、座標の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 %}

新しい座標データが受信され、これがクライアントにプッシュされることを願っています。

誰かが助けてくれることを願っています。

ありがとう

4

1 に答える 1

2

あなたの改行についてわからない jsonify(ci, doc)

これが正しく返されますか? 引数は辞書形式にする必要があります。代わりにこれを試してみませんか

return jsonify(dict(ci=ci, doc=doc))
于 2012-11-06T18:09:21.373 に答える