How to post data structure like json to flask?

后端 未结 2 1197
失恋的感觉
失恋的感觉 2021-02-13 11:43

I have a data structure like this:

\"enter

I\'m try to send it to server by $.ajax

相关标签:
2条回答
  • 2021-02-13 11:53

    If you inspect the POST being submitted by jQuery, you will most likely see that content is actually being passed as content[]. To access it from the Flask's request object, you would then need to use request.form.getlist('content[]').

    If you would prefer to have it passed through as content, you can add traditional: true to your $.ajax() call.

    More details about this can be found in the 'data' and 'traditional' sections of http://api.jquery.com/jQuery.ajax/.

    0 讨论(0)
  • 2021-02-13 12:04

    You are sending your data encoded as query string instead of JSON. Flask is capable of processing JSON encoded data, so it makes more sense to send it like that. Here's what you need to do on the client side:

    $.ajax({
        type: 'POST',
        // Provide correct Content-Type, so that Flask will know how to process it.
        contentType: 'application/json',
        // Encode your data as JSON.
        data: JSON.stringify(post_obj),
        // This is the type of data you're expecting back from the server.
        dataType: 'json',
        url: '/some/url',
        success: function (e) {
            console.log(e);
        }
    });
    

    On the server side data is accessed via request.json (already decoded):

    content = request.json['content']
    
    0 讨论(0)
提交回复
热议问题