how can I use data posted from ajax in flask? how can I use data posted from ajax in flask? ajax ajax

how can I use data posted from ajax in flask?


Try

 $.ajax({    type : "POST",    url : "{{ url_for('mod.load_ajax') }}",    data: JSON.stringify(data, null, '\t'),    contentType: 'application/json;charset=UTF-8',    success: function(result) {        console.log(result);    }});

Then from the server, you can refer to the variables in data like this :

request.json['foo']

Since the content type is specified as application/json the data is in request.json


As per your example you are not sending a key value pair but rather assigning a JSON string to the jQuery data option. As mentioned in the comments you have to stringify your JSON, create an object with a key (which will be used to access the JSON string from flask) and then assign it to the jQuery data key.

    $.ajax({            type : "POST",            url : "{{ url_for('mod.load_ajax') }}",            data: {json_str: JSON.stringify(data)},            contentType: 'application/json;charset=UTF-8',            success: function(result) {                console.log(result);            }        });    @mod.route('/load_ajax', methods=["GET", "POST"])    def load_ajax():        if request.method == "POST":            # load _sid and _uip from posted JSON and save other data            # but request.form is empty.            # >>> request.form            # ImmutableMultiDict([])             return str(request.form['json_str']     )


On the flask side, use:

data = request.get_json()

The variable data now has the dictionary you sent using ajax and you can now manipulate it with python