使用 JSON 在 python 和 javascript 之间传递数据
Posted
技术标签:
【中文标题】使用 JSON 在 python 和 javascript 之间传递数据【英文标题】:Passing data between python and javascript using JSON 【发布时间】:2015-04-01 17:31:07 【问题描述】:我正在创建一个网络表单。根据第一个字段的值,我想在表单的其余部分显示不同的字段。我可以使用 javascript 来更新表单:
document.getElementById("formdata").innerhtml = HTML_string
我正在使用 web.py。我需要的字段列表存储在 MongoDB 中,我正在使用 python 来提取列表。看起来我应该使用 JSON 将数据从 python 传递到浏览器。有很多只提供 JSON 服务的简单示例(例如 https://gist.github.com/sirleech/5055971),以下几乎完全描述了我需要的内容:Passing variables between Python and Javascript。如何在仍呈现完整 HTML 页面的同时将这些数据与 JavaScript 一起使用?有没有人有任何例子可以用来制作一个正常运行的网页?是否可以在字段值更改时调用python脚本并将查询结果传递回浏览器而不刷新页面?
我不确定我正在尝试的方法是否是最好的方法,因此我愿意接受其他建议。
谢谢,
德国
【问题讨论】:
听起来你的问题是如何在浏览器端解压/使用 JSON 数据?通常,这是通过 JavaScript 中的某种 AJAX 请求/回调来完成的。如果您是第一次这样做,我建议您将 AngularJS 或 jQuery 作为抽象出许多特定于浏览器的麻烦的工具。 是的,我想这是我的问题!感谢您的提示,我会尝试找到有关这些的教程,现在我知道我在寻找什么。 【参考方案1】:通常,JSON 用于提供数据,而不是标记。您通常已经加载了 HTML,并在获取 JSON 数据后立即将其插入到 DOM 元素中。
假设您要更新标记如下的“分数”元素:
<p>My Score: <span id='my_score'></span></p>
为此,假设您的 JSON“分数”提要托管在 /data/score。它像这样返回 JSON:
score: 5
如果您使用的是 jQuery,例如,您可以按如下方式请求和更新此值:
$.get('/data/score', function(data)
$('#my_score').html(data['score']);
);
但这对您正在使用的内容及其工作方式做出了很多假设。
【讨论】:
好吧,看来这不是一个快速的解决方案。我最好学习 jQuery! @Geraint 是的,异步请求使用模式也需要一些学习。你必须学会思考事件和回调,而不是假设一切都以特定的顺序发生。这些东西很快就会变得复杂,如果你真的只是从这里开始,那么学习像 Angular 这样的框架可能是值得的。 angular.codeschool.com以上是关于使用 JSON 在 python 和 javascript 之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章