J'ai écrit une requête axios POST comme recommandé dans la documentation du package npm comme:
var data = {
'key1': 'val1',
'key2': 'val2'
}
axios.post(Helper.getUserAPI(), data)
.then((response) => {
dispatch({type: FOUND_USER, data: response.data[0]})
})
.catch((error) => {
dispatch({type: ERROR_FINDING_USER})
})
Et cela fonctionne, mais maintenant j'ai modifié mon API backend pour accepter les en-têtes.
Content-Type: 'application / json'
Autorisation: 'JWT fefege ...'
Maintenant, cette requête fonctionne bien sur Postman, mais lorsque j'écris un appel axios, je suis ce lien et je n'arrive pas à le faire fonctionner.
Je reçois constamment des 400 BAD Request
erreurs.
Voici ma demande modifiée:
axios.post(Helper.getUserAPI(), {
headers: {
'Content-Type': 'application/json',
'Authorization': 'JWT fefege...'
},
data
})
.then((response) => {
dispatch({type: FOUND_USER, data: response.data[0]})
})
.catch((error) => {
dispatch({type: ERROR_FINDING_USER})
})
Toute aide est grandement appréciée.
json
http-headers
http-post
axios
content-type
Jagrati
la source
la source
axios
question connexe ici: stackoverflow.com/questions/59470085/… ?Voici un exemple complet de requête axios.post avec des en-têtes personnalisés
la source
Cela pourrait être utile,
Blockquote
la source
La réponse de Shubham n'a pas fonctionné pour moi.
Lorsque vous utilisez la bibliothèque axios et que vous passez des en-têtes personnalisés, vous devez construire des en-têtes comme un objet avec le nom de clé "headers". La clé des en-têtes doit contenir un objet, ici c'est Content-Type et Authorization.
L'exemple ci-dessous fonctionne bien.
la source
Vous pouvez également utiliser des intercepteurs pour passer les en-têtes
Cela peut vous faire économiser beaucoup de code
la source
config.method.toUpperCase()
Ou, si vous utilisez une propriété du prototype vuejs qui ne peut pas être lue lors de la création, vous pouvez également définir des en-têtes et écrire ie
la source
Json doit être formaté avec des guillemets doubles
Comme:
Pas seulement:
la source