首页 > 解决方案 > 将数据从 JS 发送到 python

问题描述

新手提醒!!!需要帮助将数据从 json 发送到 python

这是我试图向 python 发送数据的 HTML 脚本的摘录……我如何在 python 中接收它?

        <button class="my_button" name="buttonName" data-value="U" style="height: 50px; width: 100px; font-size: 25px">UP</button>
        <button class="my_button" name="buttonName" data-value="D" style="height: 50px; width: 100px; font-size: 25px">DOWN</button>
        <button class="my_button" name="buttonName" data-value="L" style="height: 50px; width: 100px; font-size: 25px">LEFT</button>
        <button class="my_button" name="buttonName" data-value="R" style="height: 50px; width: 100px; font-size: 25px">RIGHT</button>
        <button class="my_button" name="buttonName" data-value="F" style="height: 50px; width: 100px; font-size: 25px">FRONT</button>
        <button class="my_button" name="buttonName" data-value="B" style="height: 50px; width: 100px; font-size: 25px">BACK</button>
        <button class="my_button" name="buttonName" data-value="M" style="height: 50px; width: 100px; font-size: 25px">MAGFI</button>


 </span>

    <script type="text/javascript">

        $(document).ready(function (){
            $('.my_button').mousedown(function () {
                //Comment the alert mesage this is for testing to make sure the values are captured
                alert($(this).attr('data-value'));
                var buttonVal = $(this).attr('data-value');
                var param = buttonVal;
                //URL put the reference of the Python script for mouse down event.
                $.ajax({
                    type: "POST",
                    url: "/home/pi/mousedown.py",
                    contentType: "application/json; charset=utf-8",
                    data: param,
                    dataType: "json",
                    success: function (msg) {
                        alert("Success");
                    }
                });

            });

标签: javascriptpython

解决方案


我会在 python 中创建 Flask REST Api 以便能够接收数据:

from flask import Flask
app = Flask(__name__)

@app.route("/home/pi", methods = ['POST'])
def pi():
    data = request.form['data']

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

您的帖子请求略有变化:

从:

url: "/home/pi/mousedown.py"

至:

url: "/home/pi"

推荐阅读