J'ai une application React construite en utilisant Redux et React et j'essaie de publier des données. Tout fonctionne bien, mais je ne sais pas pourquoi je ' m recevoir deux demandes OPTIONS
& POST
Peut-être parce que l'URL de l'API n'est pas sur le même serveur que React.
Voici le code:
const url = 'http://rest.learncode.academy/api/johnbob/myusers';
export function postUsers(username, password) {
let users = {
username,
password,
};
return{
type: "USERS_POST",
payload: axios({
method:'post',
url:url,
data: users,
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
})
}
}
Les requêtes CORS non simples via AJAX sont prévolées. En savoir plus ici . Il s'agit d'un comportement de navigateur et rien de spécifique aux axios. Il n'y a rien de fondamentalement mauvais avec ce comportement et si cela fonctionne pour vous, vous pouvez simplement le laisser.
Si vous insistez pour vous en débarrasser, vous pouvez procéder de plusieurs manières:
Vous pouvez définir Access-Control-Allow-Origin: *
sur votre serveur pour désactiver CORS.
Faites votre demande CORS simple. Vous devrez modifier le Content-Type
en-tête à application/x-www-form-urlencoded
ou multipart/form-data
ou text/plain
. Non application/json
.
Je dirais de le laisser tel quel si la demande OPTIONS
ne vous bloque pas.