javascript - 使用 python 获取 javascript 表单内容

标签 javascript python xml forms

我是一名新手 python 程序员,我很难找到一个工具来帮助我从 javascript 获取表单。我用 python 编写了一个小脚本,也有一个用 javascript 完成的简单界面。用户需要在浏览器中选择一些项目,然后 javascript 返回一个 sendForm()。然后我想用我的 python 脚本恢复表单。我知道我可以用 javascript 生成一个 xml 文件并告诉我的 python 脚本等到它创建然后捕获它(使用 os.path.exist(..)),但我想避免这种情况。我已经看到存在诸如 cgi、mechanize、pyjs(selenium?)之类的库来连接 python 和 html、javascript,但我找不到要使用的库,或者是否有其他工具可以轻松处理恢复表单。

更多信息:python 脚本生成一个由 javascript 读取的 xml。用户选择 javascript 中的项目(带有复选框),然后由 javascript 在 xml 中标记这些项目。然后 javascript 在隐藏字段中输出修改后的 xml,我希望在创建后用我的 python 脚本检索这个修改后的 xml。

非常感谢大家的帮助

最佳答案

感谢评论中的澄清。由于您正在构建一个网站,因此您将希望使用 AJAX 调用 python web 应用程序并返回一些内容(在您的情况下可能是 XML,尽管我建议阅读有关 JSON 的内容)。在我看来,您还没有解决问题的最佳方法,但这是另一个问题。我不明白你为什么要麻烦地用 python 生成 xml,用 JavaScript 读取它,用 JavaScript 更新它,然后在提交表单时用 Python 再次读取它。对于初学者,想想如果您的用户禁用 JavaScript 会发生什么。

无论如何,我建议阅读 FlaskjQuery开始。然后,您的应用程序在 Python 中可能看起来像这样:

from flask import Flask
app = Flask(__name__)

@app.route('/', methods=['POST', 'GET'])
def foo():
    if request.method == 'GET':
        # Generate the XML
        return myXML
    if request.method == 'POST':
        # Read that hidden field
        xml = request.form['the_hidden_xml']
        # Do what you will
        return render_template('homepage.html')

if __name__ == "__main__":
    app.run()

JavaScipt 可能会这样做:

function buildTheForm() {
    $.get('/', function(data) {
        // handle the xml in data
        alert('Load was performed.');
    });
}

表单可能是这样做的:

<form action="/" method="post">

关于javascript - 使用 python 获取 javascript 表单内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11383796/

相关文章:

javascript - 如何固定页面中心的div标签的位置。使用javascript

javascript - 使用 TD 标签的数据创建数组

python - 查看Redis的版本

php解析简单的xml属性

xml - 如何在不使用 SQL Server 中的 XQuery 对元素名称进行硬编码的情况下从 XML 中提取值?

java - Java读取UTF16编码的XML文件

javascript - TypeScript 中定义的对象字面量键的类型是什么?

javascript - 如何编写 js 代码,以最少的跳转次数以较低的时间复杂度到达目标

python - 毫升抗体 : Temporary Failure in name resolution

python - 如何将 python 字典列表保存为 matlab 结构化数组的数组?