Ich versuche, JSON-Daten von JavaScript an die Flaskapp zu senden. Aber die JSON-Daten, die von JavaScript gesendet werden, werden von der Flasche nicht akzeptiert, die Anfrage ist null, wo ist das falsch?Warum meine Flasche App kann nicht erhalten json von Javascript?
Hier ist mein Flaschencode.
@main.route('/getjson', methods = ['GET', 'POST'])
def getjson():
a = request.json
return jsonify(user = a)
Hier ist mein JavaScript-Code.
$(function(){
$("#test").click(function(){
$.ajax({
url: "{{ url_for('main.getjson') }}",
type: "POST",
data: JSON.stringify({
"n1": "test1",
"n2": "test2",
"n3": "test3"
}),
dataType: "json",
success: function(data){
var a = data.user
var texthtml = "<p>" + a + "</p>"
$("#result").html(texthtml)
}
});
});
});
Die auf der Seite zurückgegebenen Daten sind immer null. Request.arg.get funktioniert auch nicht.
Do not stringify, senden Sie einfach das eigentliche Objekt als 'Daten:'. Und ich denke, 'Request.arg [s] .get'„funktioniert nicht“, weil Sie eine' Post' Anfrage sind zu senden –
@ChrisG Sie unbedingt wollen, um die Daten stringify wenn Sie JSON senden möchten. Ihnen fehlt nur der Inhaltstyp. – davidism
@davidism Entfernen 'JSON.stringify' den Content-Type auf' application/json' (und stringify das Objekt) Auto-Set- –