jquery - how to get data from 'ImmutableMultiDict' in flask -


i learning how use ajax , flask ,so send ajax request , receive data post request in python file

my html file contains code

var data = {"name":"john doe","age":"21"}; $.ajax({   url:'/post/data',   datatype : "json",   contenttype: "application/json; charset=utf-8",   data : json.stringify(data),   success : function(result) {     jquery("#clash").html(result);    },error : function(result){      console.log(result);  } }); 

and python file contains :

@app.route('/post/data',methods=['get','post']) def postdata():   #do   data = str(request.args)   json_dumps = json.dumps(data)   return json_dumps 

this gives me following data on page

"immutablemultidict([('{\"name\":\"john doe\",\"age\":\"21\"}', u'')])" 

and request.query_string looks {%22name%22:%22john%20doe%22,%22age%22:%2221%22}

so how name , age. please correct me if wrong anywhere.thanks in advance.

you don't need data immutablemultidict. there couple of errors in have preventing pulling response json data. first off, have tweak parameters of ajax call. should add in call type post. furthermore, datatype should spelt datatype. new call should be:

var data = {"name":"john doe","age":"21"}; $.ajax({     type: 'post',     contenttype: 'application/json',     url: '/post/data',     datatype : 'json',     data : json.stringify(data),     success : function(result) {       jquery("#clash").html(result);      },error : function(result){        console.log(result);     } }); 

the data being sent post request json type. on flask server, can read data son information follows:

@app.route('/post/data',methods=['get','post']) def postdata():     jsondata = request.get_json()     print jsondata['name']     print jsondata['age']     return "hello world" #or whatever want return 

this print john doe , 21 successfully.

let me know if works or if have additional questions!

edit: can return success ajax call flask follows:

# include import @ tomb flask import jsonify  @app.route('/post/data',methods=['get','post'])     def postdata():         ...         return jsonify(success=true, data=jsondata) 

Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

[C++][SFML 2.2] Strange Performance Issues - Moving Mouse Lowers CPU Usage -

ios - Possible to get UIButton sizeThatFits to work? -