Ich benutze Axios und Flask um RESTful API zu entwickeln.request.json gibt nur String zurück
Es gibt jedoch ein Problem mit JSON-Daten zwischen Axios und Flask.
Ich kann keine JSON-Daten von Axios von request.json
erhalten.
Ich versuche viele Möglichkeiten, aber nichts funktioniert.
Meistens werden request.json
None
bekommen, und request.data
erhalten:
b'------WebKitFormBoundaryNzW4jnyUkdEH3jsX\r\nContent-Disposition: form-data; name="user"\r\n\r\nu\r\n------WebKitFormBoundaryNzW4jnyUkdEH3jsX\r\nContent-Disposition: form-data; name="pwd"\r\n\r\np\r\n------WebKitFormBoundaryNzW4jnyUkdEH3jsX--\r\n'
Nach Debuggen request.json
können nun die Daten erhalten.
Aber es kann nur string
, nicht json
bekommen. Hier
ist der Code:
Axios
var config = {headers: {'Content-Type': 'application/json'}}
axios.post('/api/user', {user: 'user', pwd: 'pwd'}, config)
.then(function(resp) {
// ...
})
.catch(function(error) {
// ...
});
Flask
@app.route('/api/user', methods=['POST'])
def user():
j = request.json
print(j)
print(type(j))
Ergebnis
{"user": "user", "pwd": "pwd"}
class 'str'
Wie kann ich das Problem beheben? Danke.
Funktioniert 'get_json()'? –
Nein, wie bei request.json – scaldstack
Sieht so aus, als hätten Sie anstelle von JSON Formulardaten gesendet. –