Created
October 25, 2012 13:53
-
-
Save johnschimmel/3952666 to your computer and use it in GitHub Desktop.
Sample of Flask receiving JSON
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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" |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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?