-
-
Save johnschimmel/3952666 to your computer and use it in GitHub Desktop.
# If /json route receives header "application/json" | |
@app.route("/json", methods=['GET','POST']) | |
def json(): | |
app.logger.debug("JSON received...") | |
app.logger.debug(request.json) | |
if request.json: | |
mydata = request.json # will be | |
return "Thanks. Your age is %s" % mydata.get("age") | |
else: | |
return "no json received" |
Ddfulton write {"age":"9"} in the body of JSON.. then it will display 9 instead of none
this might work better
mydata = request.get_json(force=True)
I don't know what I'm doing wrong here:
Javascript:
`var query = JSON.stringify({"City": "Iasi", "Option": "kebab"});
function post_query(query) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log("In the if statement! status ok!");
document.getElementById("results").innerHTML = this.responseText;
};
};
xhttp.open("POST", "/listari", true);
xhttp.send(query);
console.log("query sent");
}
post_query(query)`
Flask:
@app.route('/listari', methods=['POST'])
def listings():
print('query arrived in /listari, ok!')
bin_data = request.stream.read()
mydata = request.get_json(force=True)
print('Here >>>',bin_data, type(bin_data))
return "Raspuns din flask: {}".format(bin_data)
Work randomly...Do you have any ideas?
Just in case people are having problems using this code, your request content type needs to be application/json
. Otherwise you get None
as the parsed value. https://stackoverflow.com/a/20001283/270334
I copied this directly and I still get None for mydata in the browser. The app.debug.log, however, definitely receives the json.