Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python瓶子中以Javascript显示JSON_Javascript_Python_Mongodb_Bottle - Fatal编程技术网

从Python瓶子中以Javascript显示JSON

从Python瓶子中以Javascript显示JSON,javascript,python,mongodb,bottle,Javascript,Python,Mongodb,Bottle,我试图访问javascript函数中的mongodb记录,以便在网页上显示文档。使用PiMongo的瓶子框架,我尝试首先将mongodb文档编码为JSON对象,以传递给我的javascript函数 @bottle.route('/view/<_id>', method = 'GET') def show_invoice(_id): client = pymongo.MongoClient("mongodb://localhost") db = client.order

我试图访问javascript函数中的mongodb记录,以便在网页上显示文档。使用PiMongo的瓶子框架,我尝试首先将mongodb文档编码为JSON对象,以传递给我的javascript函数

@bottle.route('/view/<_id>', method = 'GET')
def show_invoice(_id):
    client = pymongo.MongoClient("mongodb://localhost")
    db = client.orders
    collection = db.myorders
    from bson.objectid import ObjectId
    result = collection.find_one({'_id': ObjectId(_id)})
    temp = json.dumps(result,default=json_util.default)
    print "temp: " + temp

    return bottle.template('invoice', rows = temp)
甚至 parseJSON({{rows}})

我还尝试将变量unescaped everywhere设置为{{!rows}
有人知道我做错了什么吗?如何使用pymongo获取mongodb文档,并使用瓶子将其显示在网页上?我意识到有人问过类似的问题,但我似乎找不到任何适合我的情况的东西。

在同一个标记中不能同时包含“src”属性和javascript代码。将fillTable函数放在新的脚本标记中。

问题不在于如何呈现json,而在于如何使用
document.write()

在浏览器中打开一个新选项卡,并将其指向url:“about:blank”。这将给你一个空白网页。现在,右键单击并打开开发人员工具。试着运行
document.write('Stuff')来自该上下文。您不应该看到对页面的任何更改

相反,请尝试:

var body = document.getElementsByTagName("body")[0];
body.innerHTML = "Stuff";
请注意其中的区别


当然,还有很多其他方法可以实现这种效果,但这是最简单的方法,不需要任何外部javascript库。

JSON,如果将javascript作为对象进行计算的话。您可以:1)将它放在单引号中并反序列化,或者2)只说
var obj={{rows}发送到浏览器的HTML页面中有什么内容?如果你“查看源代码”,函数fillTable({document.write({“item1”:“tees”,“name”:“Steve”,“phone”:(890)908-8228”,“qyt2”:“180”,“quote”:“250.75”,“qyt1”:“90”,“qty”:“90”,“color1”:“白色”,“颜色”:“黑色”,“color3”:“红色”,“color2”:“灰色”,“created”:{“$date 13746681935},“item”:“shirts”,“item2”:“});}@DanLecocq我刚刚尝试将fillTable函数更新为var obj={{rows};然后记录。写(obj);但仍然没有显示大写字母。最好使用更新的信息重新编辑问题,以便格式化。抱歉,这是我尝试使用JQuery时留下的,但在删除该src属性后仍然无法工作。
jQuery.parseJSON(rows);
var body = document.getElementsByTagName("body")[0];
body.innerHTML = "Stuff";