使用Flask使用javascript运行python脚本
Use Flask to run a python script using javascript
我想使用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')
如果你仍然有问题,或者我的回答不清楚或不准确,请告诉我。
希望有帮助。
欢呼声
相关文章:
- 使用脚本#编译代码(独立)
- 如何使用脚本在jsf中执行命令按钮的自动点击
- 什么's使用脚本标记调用文件和ajax之间的区别
- 如何使用<脚本>更改 href
- Google Sheets-使用脚本创建范围(行)
- 使用脚本缓存图像
- 使用脚本设置onclick事件
- Rails 4-使用脚本变量作为按钮值
- 如何使用脚本将twitter登录集成到我的网站
- 如何在不使用脚本标记的情况下注入javascript
- 在脚本中使用脚本标记会破坏脚本
- 只在一个特定页面上使用脚本的
- BIRT使用脚本中的日期参数
- ASP.NET网页-使用脚本显示由预定义日期和时间指定的图像/文本
- 如何在scriplet中使用脚本变量
- 使用脚本显示最新推文,而不显示@replies
- 获取链接帖子使用脚本“data:post.url”博主不起作用
- 使用脚本异步属性的含义是什么
- 提交表单,使用脚本处理信息,并在同一页面上显示结果
- 使用脚本按长文本对帖子进行排序