Harukaのnote

Linuxやプログラミング,写真,旅行等の記録帳

TornadoからJavaScriptへJSONデータの受け渡し

PythonのWEBサーバーライブラリにTornadoを使っています.

サーバーサイドのTornadoからフロントのHTMLに記載されたJSスクリプトにデータを渡したいとき,以下のようにすればパスできます.

方法

Python

json形式に変換し,渡します.

import json

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        data = {"あああ": 100, "いいい": 200}
        self.render("index.html",
                    json_data=json.dumps(data),
                   )

JavaScript

TornadoのHTML内でPythonコードを記載する方法で,{% [コード] %}があります.
必ずクォーテーション(')で囲みましょう.でないと,jsのコードと判定されます.
これを使って渡します.変数の前にrawをつけましょう.

data = JSON.parse('{% raw json_data %}');

おわり.