客户端上的HTML按钮在服务器上运行python脚本,然后将结果发送到客户端的网页

时间:2014-08-16 21:18:23

标签: javascript python html client-server client

我之前看过一些类似的问题,但是我找不到这样的问题。我有一个网页(在服务器上),我希望用户点击一个执行python脚本的按钮。我希望这个python脚本在服务器上运行,然后将结果发送回网页并显示它。

当用户单击该按钮时,将发送到服务器的数据将是XML文件。

我只是不知道从哪里开始这一切。我可以用什么来实现这个目标?

感谢您的时间。

编辑:我实际上已经完成并设置了网页,并生成了XML。我只需要在用户点击网页上的按钮时运行python脚本。不确定这是否有帮助,但我发布了它。感谢

我想请一个高级别的解释,谢谢你,因为我不知道已经向我建议了什么。

1 个答案:

答案 0 :(得分:2)

python有很多web库。你可以试试瓶子(没有安装的工作,一个文件,只需将“bottle.py”文件放在你的工作文件夹中。一个简单的例子:

    from bottle import route, run, static_file, post, request
    @route('/js/<filename>')
    def js(filename):
        return static_file(filename, root='js')

    @route('/')
    def index():return static_file('tst.html', root='./')

    @post('/xml')
    def xml():
        for x in request.forms:
            print(x)
        return {'return': 'accepted'}

    run(host='0.0.0.0', port=8000)

和html:

<!DOCTYPE html>
<html lang="ro">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>TTL</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<button onclick="test()">Test</button>
<script type="text/javascript">
    function test() {
        $.ajax({
            url: 'xml',
            type: 'POST',
            data: '<my><xml>string</xml></my>',
            dataType: 'json',
            success: function (ret) {
                alert(ret['return']);
            }
        });
    }
</script>
</body>
</html>

抱歉JQuery,懒得写简单的js xhr。 Bottle有很好的记录,但也有樱桃树,金字塔,django,龙卷风。