Axios n'enverrons pas de cookie, Ajax (xhrFields) ne fonctionne tout simplement beau
À L'Aide D'Axios
export function sendAll() {
return (dispatch) => {
dispatch(requestData());
return axios({
method: 'POST',
url: `${C.API_SERVER.BASEURL}/notification/sendAll`,
data: {prop: 'val'},
//responseType: 'json',
headers: {
'Content-Type': 'application/json'
},
withCredentials: true
}).then((response) => {
dispatch(receiveData(response));
}).catch((response) => {
dispatch(receiveError(response));
//dispatch(pushState(null, '/error'));
})
}
};
Résultat à l'aide d'Axios
À l'aide de $.ajax
$.ajax({
url: " http://local.example.com:3001/api/notification/sendAll",
method: "post",
data: {},
crossDomain: true,
xhrFields: {
withCredentials: true
}
})
Résultat à l'aide de $.ajax
Je suis incapable de forcer Axios à envoyer un POST lorsque vous essayez d'attacher des données à la POSTE (cookie ne reçoit pas envoyé de toute façon).
Mon serveur de configuration (express):
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", `${C.PROTOCOL}://${C.DOMAIN}:${C.PORT}`);
res.header("Access-Control-Request-Headers", "*");
res.header('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
res.header("Access-Control-Allow-Credentials", "true");
next();
});
Je n'ai pas les OPTIONS de l'itinéraire défini. Je veux Axios pour envoyer des POST avec des cookies.
router.post('/notification/sendAll', function (req, res, next) {
res.sendStatus(204);
//...
});
Vérifiez dernier commentaire ici: github.com/mzabriskie/axios/issues/475
Me semble que je survole ce, merci.
Me semble que je survole ce, merci.
OriginalL'auteur michael | 2016-12-02
Vous devez vous connecter pour publier un commentaire.
J'ai été confronté à un problème similaire. Faire un get/post demande par l'intermédiaire d'Axios n'a pas envoyé les mêmes en-têtes comme un droit demande XHR.
Puis j'ai ajouté le code suivant juste après l'Axios exiger la déclaration:
Après que Axios a commencé à envoyer mon cookie comme la régulière XHR demande n'.
Les gars, AXIOS & de la SCRO m'a fait passé environ deux heures à résoudre - pourquoi NODEJS changer les id de session à chaque requête. Maintenant, je suis heureux.
Faisant écho à cette ici. C'est fou ce paramètre par défaut comme ça s'il fonctionne. Fou en outre que les demandes individuelles
withCredentials:true
n'a eu aucun impact sur elle. De toute façon, merci pour essayer de le comprendre.Cette solution, malheureusement, ne fonctionne pas pour une
option
demande...OriginalL'auteur Danielo515
Exemple de travail à l'aide de Danielo515 de l' réponse:
OriginalL'auteur jinzo21