使用Flask使用javascript运行python脚本

Use Flask to run a python script using javascript

本文关键字:使用 脚本 python javascript Flask 运行      更新时间:2023-09-26

我想使用javascript运行一个python脚本。

我安装了Flask.

这是我的HTML代码:
<input type="button" value="tester" onclick="addImage()" />
<p id="result"></p>
<script>
function callPy(data1, data2){
    $.ajax({
        type: "POST",
        url:"/test",
        data:{data1: data1, data2:data2},
        success:callbackFunc
    });
function callbackFunc(response) {
    $('#result').html('<li>'+response.x+'</li>');
}
function addImage(){
    callPy(1,2);
}
</script>
这是我的python代码:
  import csv
from numpy import genfromtxt
from numpy import matrix
from flask import Flask, render_template, redirect, url_for,request
from flask import make_response
app = Flask(__name__)
@app.route('/test', method='POST')
def test():
    if request.method == 'POST'
    data1 = request.form['data1']
    data2 = request.form['data2']
    return "ok""
    return render_template('watermark.html', message='azerty')

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

但是我在控制台有这个错误:jquery.min.js:5 POST http://testFalsk/test 404 (Not Found)我要做什么?

首先,允许的方法的参数名是methods(不是method),并且它接受一个包含允许的方法的列表。在本例中,它将只有一个元素。

@app.route('/test', methods=['POST'])

有了这个,检查request.method == 'POST'是不必要的,一旦这个视图将只接受这种类型的请求。

接下来,代码中有一些语法错误:if语句后面的冒号和"ok"返回字符串(三个双引号)。此外,您有两次返回,这是无效的。要获取dict数据(如request.form),建议使用get方法。如果键不存在,它将返回None,而不是当前抛出异常的方式。
修正后的方法如下:

@app.route('/test', methods=['POST'])
def test():
    data1 = request.form.get('data1')
    data2 = request.form.get('data2')
    return render_template('watermark.html', message='azerty')

如果你仍然有问题,或者我的回答不清楚或不准确,请告诉我。

希望有帮助。
欢呼声