如何通过按钮向烧瓶发送帖子

时间:2021-04-12 03:32:32

标签: javascript python flask

如何从java向flask发出post请求? 为什么我可以得到发送到服务器的数据?


 <button name="send" id = "sendbutton">Send</button>

document.getElementById("sendbutton").addEventListener('click', () => {
    var image = canvas.toDataURL();
    var r = new XMLHttpRequest();
    r.open("POST", "http://127.0.0.1:5000/truthMask", true);
    r.onreadystatechange = function () {
        if (r.readyState != 4 || r.status != 200) return;
        //alert("Success: " + r.responseText);
        console.log("sent");
    };
    r.send(input="test");
});

@app.route('/truthMask', methods=['POST'])
def set_truthMask():
    print("Got the data")
    foo = request.args.get("input")
    print("Print the data: {}".format(foo))
    return "sent"

1 个答案:

答案 0 :(得分:4)

JS代码

document.getElementById("sendbutton").addEventListener('click', () => {
    var image = canvas.toDataURL();
    var r = new XMLHttpRequest();
    r.open("POST", "http://127.0.0.1:5000/truthMask", true);
    r.onreadystatechange = function () {
        if (r.readyState != 4 || r.status != 200) return;
        //alert("Success: " + r.responseText);
        console.log("sent");
    };
    // Send data in below way from JS
    r.send(JSON.stringify({"input": "test"}));
});

Python Flask API

import json

@app.route('/truthMask', methods=['POST'])
def set_truthMask():
    print("Got the data")
    foo = json.loads(request.data.decode())["input"]
    print("Print the data: {}".format(foo))
    return "sent"

不要忘记导入 json