Προσπαθώ να κάνω POST ένα αντικείμενο JSON χρησιμοποιώντας το fetch.
Από ό, τι μπορώ να καταλάβω, πρέπει να επισυνάψω ένα stringified αντικείμενο στο σώμα της αίτησης, π.χ:
fetch("/echo/json/",
{
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: "POST",
body: JSON.stringify({a: 1, b: 2})
})
.then(function(res){ console.log(res) })
.catch(function(res){ console.log(res) })
Όταν χρησιμοποιώ το [jsfiddle's json echo][2] θα περίμενα να δω το αντικείμενο που έχω στείλει ({{a: 1, b: 2}}
) πίσω, αλλά αυτό δεν συμβαίνει - το chrome devtools δεν δείχνει καν το JSON ως μέρος της αίτησης, πράγμα που σημαίνει ότι δεν αποστέλλεται.
Με το ES2017 [υποστήριξη async/await
][1], αυτός είναι ο τρόπος για να POST
σετε ένα ωφέλιμο φορτίο JSON: