Flask Python, trying to return list or dict to Ajax call

后端 未结 3 1839
不知归路
不知归路 2021-02-05 04:21

Within a Flask app, I have the following ajax call:

    $.ajax({
            url: \"{{ url_for( \'bookings.get_customer\' ) }}\",
            type: \"POST\",
            


        
相关标签:
3条回答
  • 2021-02-05 04:38

    josonify works..but if you intend to just pass an array without the 'results' key, you can use json library from python. The following conversion works for me..

     import json
    
     @app.route('/test/json')
     def test_json():
     list = [
            {'a': 1, 'b': 2},
            {'a': 5, 'b': 10}
           ]
     return json.dumps(list)
    
    0 讨论(0)
  • 2021-02-05 04:40

    Flask doesn't expect that you will return list object from your view function. Try jsonify it before:

    from flask import jsonify
    
    @bookings.route( '/get_customer', methods=[ 'POST' ] )
    def get_customer():
        name = {}
        for key, value in request.form.items():
            name[ key ] = value
    
        customer_obj = customer_class.Customer()
        results = customer_obj.search_customer( name )
    
        return jsonify(customers=results)    
    
    0 讨论(0)
  • 2021-02-05 04:40

    You need to do

    return jsonify(result=your_result)
    

    Also check documentation which could be really helpful.

    0 讨论(0)
提交回复
热议问题