如何将Python数据发送到JavaScript

时间:2017-08-08 06:03:41

标签: javascript python web jinja2

我正在使用谷歌应用引擎开发网络。我使用jinja2将数据从html发送到main。支付代码。问题是如何从html的javascript中获取数据。请让我知道正确的答案。谢谢。

main.py

def get(self):
    db = connect_to_cloudsql()
    cursor = db.cursor()
    cursor.execute("set names utf8")
    cursor.execute("""select no, u_name, age, gender, U_adress, phone, car_num, penalty from User;""")

    data = cursor.fetchall() 
    array_list = []

    for row in data:
        temp = (row[0], str(row[1]), row[2], str(row[3]), str(row[4]), row[5], str(row[6]), row[7])
        array_list.append(temp)

    db.close()

    data = json.dumps(array_list)
    template_values = { 'data': data }

    template = JINJA_ENVIRONMENT.get_template('User.html')
    self.response.write(template.render(template_values))

和html中的javascript代码。

var table;

$(function() {
    $.get(function({ data }) {
        var jsonobj = JSON.parse({ data });

        table = $('#userindex').dataTable({ 
            "sPaginationType": "bootstrap",
            "sDom": "t<'row'<'col-xs-6 col-left'i><'col-xs-6 col-right'p>>",
            "bStateSave": false
        });

        $.each(jsonobj, function(key,value) {
            table.fnAddData(
                value[0],
                value[1],
                value[2],
                value[3],
                value[4],
                value[5],
                value[6],
                value[8]
            );
        });
    });
});

这是我的错误

  

datatables.min.js:16 GET https://firststep-2016.appspot.com/function%20(%7Bdata%7D)%7Bvar%20jsonobj%20=%20JSON.parse(%7Bdata%7D);table%20=%20 $('404()

2 个答案:

答案 0 :(得分:0)

我今天偶然发现了PyV8,我认为这就是你所需要的。 它构建了一个js运行环境,你可以在python中运行js代码来获得你想要的文本。 以下是参考资料。

http://www.silverna.org/blog/?p=252

https://code.google.com/p/pyv8/

答案 1 :(得分:0)

这是使用jinja将json数据发送到javascript的一个很好的答案。它可能对你有帮助。

sending data as JSON object from Python to Javascript with Jinja