web-dev-qa-db-fra.com

impossible d'obtenir le code d'état de réponse avec la récupération JavaScript

J'essaie de créer un formulaire de connexion. lorsque je teste le service avec Postman, je reçois un objet corps avec un code d'état, etc.

Postman Result

Mais, avec la récupération JavaScript, je ne peux pas obtenir d'objet corps et je viens de recevoir une erreur:

fetch console log

export const login = (username,password) => {
    return dispatch=>{
        const basicAuth = 'Basic ' + btoa(username + ':' + password);
        let myHeaders = new Headers();
            myHeaders.append('Authorization', basicAuth);
            myHeaders.append('Content-Type', 'application/json');      
            fetch(`${baseUrl}api/user/login`, {
                withCredentials: true,
                headers: myHeaders
            })
            .then(function (response) {
                return response.json();
            })
            .then(function (json) {
                dispatch(setLoginInfo(json))
            })
            .catch(err =>{
                console.log(err)
                 dispatch(loginFailed())
            });
    }

}

J'ai besoin de récupérer le code d'état.

5
ali mottaghian

status est présent dans l'objet response. Vous pouvez l'obtenir dans votre premier bloc puis

.then(function (response) {
    console.log(response.status);
    return response.json();
})

Puisque vous retournez response.json(), les then et catch suivants n'obtiennent que le résultat de response.json() qui est le corps de la réponse.

0
Panther