我试图通过使用ajax在javascript中运行一个简单的python脚本(我更喜欢使用像Flask这样的东西)。
在我的Javascript中我有:
$.ajax({
type: "POST",
url: "text.py",
data: { param: "text"}
}).done(function( o ) {
// do something
});
但是在浏览器内部我收到错误:
POST http://127.0.0.1:8887/text.py 404(未找到) VM119:1 XHR加载失败:POST" http://127.0.0.1:8887/text.py"。
我的index.js
和text.js
位于同一目录中。当我在浏览器中输入http://127.0.0.1:8887/text.py时,会显示python代码。我不确定发生了什么。
任何帮助都会很棒!谢谢
答案 0 :(得分:0)
一个简单的Flask应用程序将是这样的:
/app.py
/templates
/index.html
app.py
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/")
def index():
return render_template('index.html')
@app.route("/echo", methods=["POST"])
def echo():
print('echo called')
data = request.values.get('param', '')
print(data)
return data
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8787, debug=True)
的index.html
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<div class="col">
<textarea rows="20" style="width:100%" id="results"></textarea>
</div>
</div>
</div>
</div>
<script src="//code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script>
$().ready(function () {
console.log('ready');
$.ajax({
url: "{{ url_for('echo') }}",
method: "POST",
data: { param: "text"}
}).done(function(data, textStatus, jqXHR ) {
//console.log(data);
$('#results').val(data);
});
});
</script>
</body>
</html>
比跑:
python app.py
比你去的那样:http://127.0.0.1:8787