Flask后端没有响应JS前端

时间:2018-06-15 13:10:11

标签: python flask web-applications

我希望能够将数据从Javascript前端发送到Flask python后端,并让烧瓶后端返回数据。

  

问题是即使我可以看到http post请求到达,post请求失败并且没有任何反应。

前端:

  <!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>    
$(document).ready(function(){
$("button").click(function()
{
$.post("http://127.0.0.1:5000/dostuff",{url:15},function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
</head>
<body>

<button>button</button>
</body>
</html>

我希望将数据发送到127.0.0.1:5000

托管的服务器

后端:

from flask import Flask, jsonify, render_template, request
app = Flask(__name__)

@app.route('/dostuff')
def add_numbers():   
   a = request.args.get('url')   
   return str(a)



@app.route('/')
def index():
    return "hello world"

按下按钮时没有任何反应,即使运行烧瓶服务器的命令行在按下按钮时显示此信息:

  

127.0.0.1 - - [15 / Jun / 2018 15:51:43]“POST / dostuff?url = 15 HTTP / 1.1”200 -

1 个答案:

答案 0 :(得分:2)

默认情况下,Flask仅接受GET路由(http://flask.pocoo.org/docs/1.0/quickstart/

的方法

如果您要发送POST数据,则必须将@app.route('/dostuff')更改为@app.route('/dostuff', methods=['GET', 'POST'])