Python Flask没有接收AJAX post

Python Flask not receiving AJAX post?

本文关键字:AJAX post Flask Python      更新时间:2023-09-26

我遇到了一个问题与我的javascript/python脚本。我要做的是传递一个字符串python烧瓶,所以我可以使用它以后。当我点击按钮发送字符串时,没有错误,但什么也没发生。我基本上是一个自学成才的程序员,所以我很抱歉,如果我的脚本没有正确格式化!

Javascript:

$('#button').click(function() {
$.ajax({
   url:"/",
   type: 'POST',
   data: data,
   ...
Python瓶:

from flask import Flask
from flask import request
from flask import render_template

app = Flask(__name__)

@app.route('/', methods=['POST', 'GET'])
def home():
    if request.method == "POST":
        string = request.args.get(data)
        print(string)
    return render_template('index.html')

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

我希望能够看到打印到控制台或命令提示符的字符串,我认为print()是正确的方法?欢迎任何帮助,谢谢:)

你可以这样做一个ajax POST请求:

$.ajax({
         url: "/",
         method: "POST",
         data: { paramter : value },
       });

通过这个POST请求发送的数据可以在flask app中通过request.form['parameter']

访问

如果您正在发送原始json数据,您可以通过request.json['parameter']访问数据

$.ajax({
         url: "/",
         method: "POST",
         data: JSON.stringify("{'paramter': 'value'}"),
         contentType: 'application/json;charset=UTF-8'
       });

这个应该可以

你想要的是在request.data

request.args包含URL中的参数。

查看更多细节。http://flask.pocoo.org/docs/0.11/api/的传入请求数据

如果你的Ajax数据对象是json,那么你可以使用request.get_json()

如果是表单数据的键值,那么你可以request.form.get('data'),但你的ajax应该是

$('#button').click(function() {
$.ajax({
   url:"/",
   type: 'POST',
   data: {data: 'mystring'},