dans mon application React, j'ai l'API POST suivant pour permettre à l'utilisateur de modifier leur profil (nom et image).Avec un type d'envoi API Fetch: multipart/form-data, comment envoyer un en-tête Authorization?
static updateProfile(formData, user_id) {
const request = new Request(`http://localhost:4300/api/v1/profiles/${user_id}`, {
headers: new Headers({
'Authorization': getBearerToken()
}),
mode: 'no-cors',
method: "POST",
body: formData
});
return fetch(request).then(response => {
return response.json();
}).catch(error => {
return error;
});
}
Le problème avec ce qui précède est l'en-tête avec le jeton d'autorisation n'est pas envoyé dans le POST ...
Comment puis-je obtenir l'en-tête d'autorisation à envoyer dans la demande de récupération ci-dessus?
Pour votre information, pour les formes non-multipart, le jeton d'autorisation est envoyée comme ceci:
static loadProfile(user_id) {
const request = new Request(`http://localhost:4300/api/v1/profiles/${user_id}`, {
headers: new Headers({
'Authorization': getBearerToken(),
'Accept' : 'application/json',
'Content-Type' : 'application/json',
})
});
return fetch(request).then(response => {
return response.json();
}).catch(error => {
return error;
});
}
Puis-je transformer re permettent CORS puis envoyer l'en-tête le long des données de formulaire w multipart? – AnApprentice
Oui, vous devriez pouvoir supprimer 'mode: 'no-cors' et faire la demande. Si vous obtenez un message d'erreur différent, vous voudrez probablement mettre à jour votre question pour inclure tout autre message d'erreur sans 'mode: 'no-cors'', et nous pourrons essayer de trouver une solution à ce problème. problème. – sideshowbarker