API Node JS에서 올바른 데이터 가져 오기

모하마드 알래 슬리

이 질문을 반복하지 않았기를 바라지 만 stackoverflow에서 아무것도 찾지 못했습니다.

이것은 로그인 방법입니다. 누군가가 올바르게 로그인하면 응답으로 사용자 개체와 함께 200 상태 코드를 보내지 만 클라이언트 측에서는 기본 응답 200 만 받고 잘못된 암호로 로그인하면 500 기본값을 얻습니다. 내가 보낸 데이터가 전혀없는 응답! 올바르게 로그인하면 오류 메시지 및 개체가 없습니다.

이것은 미들웨어입니다

나는 사용한다

app.use(express.json());
app.use(bodyParser.json());

로그인 방법

exports.logIn =async (req,res)=>{

 let {email,password} = req.body;
 let user;
 let passwordCorrect;
 try{
   user = await UserModel.findOne({email:email});

   if(user){
       console.log("user found")
     passwordCorrect= await bcryptjs.compare(password,user.password);

     if(passwordCorrect){
       console.log("password correct")

       res.json({user:user})
     }else{
       console.log("password not")

       throw new Error("password is wrong");

     }

   }else{
     console.log("user not found ")

     throw new Error("This user is not in our system");
   }

 }catch(err){
   console.log("catched error  ")
   console.log(err)

   res.status(500).json({
     status:'fail',
     message:err.message
   })

 }

}


그리고 이것은 내가 올바르게 로그인했을 때 얻는 응답이며, 응답에 서버에서 보내는 데이터가 누락되었으며 잘못된 암호의 경우 서버에서 보내는 오류 메시지없이 500을받습니다.

Response {type: "cors", url: "http://localhost:8080/api/user/login", redirected: false, status: 200, ok: true, …}
type: "cors"
url: "http://localhost:8080/api/user/login"
redirected: false
status: 200
ok: true
statusText: "OK"
headers: Headers {}
body: (...)
bodyUsed: false
__proto__: Response

내가 반응을 사용하는 클라이언트 측에서

  try{

            const user  = await fetch("http://localhost:8080/api/user/login",{
                headers:{
                    "Content-Type":"application/json"
                },
                method:"POST",
                body:JSON.stringify(data)
            });

              if(user.ok){
               // auth.login();
               console.log('ok')
               console.log(user)
            }else{
                console.log('not ok')

                console.log(user)

                setError(user.message)
            }

         }catch(err){

            console.log("error ")
            console.log(err);
            setError(err)

 }

그리고 이것은 다른 도메인의 요청을 수락하는 미들웨어입니다.

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*"); // update to match the domain you will make the request from
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Accses-Control-Allow-Methods","GET,POST,DELETE,PATCH");
console.log(req.body);
    next();
  });
술레이 만사

자바 스크립트 가져 오기 API 는 응답이 포함 된 약속을 반환합니다. 이것은 실제 JSON이 아닌 HTTP 응답입니다. 응답에서 JSON 본문 콘텐츠를 추출하기 위해 json()메서드를 사용합니다 .

따라서 코드는 다음과 같아야합니다.

try {
  const response = await fetch("http://localhost:8080/api/user/login", {
    headers: {
      "Content-Type": "application/json"
    },
    method: "POST",
    body: JSON.stringify(data)
  });

  if (response.ok) {
    console.log("ok");
    let user = await response.json();
    console.log("user: ", user);
  } else {
    console.log("not ok");
    console.log(response);
    setError(response.message);
  }
} catch (err) {
  console.log("error ");
  console.log(err);
  setError(err);
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

웹 오디오 API 및 자바 스크립트 : 마이크에서 올바른 선택 가져 오기

분류에서Dev

Tincan API로 다른 LMS에서 데이터 가져 오기

분류에서Dev

목록 내부 dict에서 올바른 데이터 가져 오기

분류에서Dev

node.js에서 json 데이터 키 값 가져 오기

분류에서Dev

API에서 POST 데이터 가져 오기 (노드 js, 반응)

분류에서Dev

Mongoose에서 데이터를 가져올 때 Node.js 비동기 try / catch 오류

분류에서Dev

데이터 목록의 홀수 레코드에 대한 올바른 데이터 가져 오기

분류에서Dev

자바 스크립트의 API에서 영화 데이터 가져 오기

분류에서Dev

Laravel-올바른 데이터베이스 레코드에서 ID 가져 오기

분류에서Dev

SQL MAMP 기반 데이터베이스로 CSV 가져 오기에 대한 올바른 구문

분류에서Dev

코어 데이터에서 삭제, 삽입 및 가져 오기를 수행하는 올바른 스레드

분류에서Dev

우편 배달부로 json 파일에서 올바른 데이터 가져 오기

분류에서Dev

fire base에서 node.js 파일로 데이터 가져 오기

분류에서Dev

Node.js sequelize에서 비동기 데이터를 가져 오는 루프

분류에서Dev

AJAX 호출 및 Node에서 리턴 데이터 가져 오기

분류에서Dev

반응에서 API에서 데이터 가져 오기

분류에서Dev

Angular 1의 API 서버에서 JSON 데이터 가져 오기

분류에서Dev

FK 충돌을 방지하기 위해 데이터를 가져 오는 올바른 순서 설정

분류에서Dev

Seaborn swarmplot에 대한 올바른 형식으로 Pandas 데이터 프레임 가져 오기

분류에서Dev

Node JS | 데이터베이스에서 지난 7 일 동안의 데이터 가져 오기

분류에서Dev

API에서 모든 데이터 가져 오기

분류에서Dev

laravel에서 darksky API 데이터 가져 오기

분류에서Dev

API에서 문자열로 데이터 가져 오기

분류에서Dev

django restframework의 api_key에서 데이터 가져 오기

분류에서Dev

API의 객체에서 데이터 가져 오기

분류에서Dev

배열에서 마지막 API 데이터 가져 오기

분류에서Dev

JSON API에서 첫 번째 데이터 가져 오기

분류에서Dev

로컬 API에서 데이터 가져 오기

분류에서Dev

Yelp API에서 데이터 가져 오기

Related 관련 기사

  1. 1

    웹 오디오 API 및 자바 스크립트 : 마이크에서 올바른 선택 가져 오기

  2. 2

    Tincan API로 다른 LMS에서 데이터 가져 오기

  3. 3

    목록 내부 dict에서 올바른 데이터 가져 오기

  4. 4

    node.js에서 json 데이터 키 값 가져 오기

  5. 5

    API에서 POST 데이터 가져 오기 (노드 js, 반응)

  6. 6

    Mongoose에서 데이터를 가져올 때 Node.js 비동기 try / catch 오류

  7. 7

    데이터 목록의 홀수 레코드에 대한 올바른 데이터 가져 오기

  8. 8

    자바 스크립트의 API에서 영화 데이터 가져 오기

  9. 9

    Laravel-올바른 데이터베이스 레코드에서 ID 가져 오기

  10. 10

    SQL MAMP 기반 데이터베이스로 CSV 가져 오기에 대한 올바른 구문

  11. 11

    코어 데이터에서 삭제, 삽입 및 가져 오기를 수행하는 올바른 스레드

  12. 12

    우편 배달부로 json 파일에서 올바른 데이터 가져 오기

  13. 13

    fire base에서 node.js 파일로 데이터 가져 오기

  14. 14

    Node.js sequelize에서 비동기 데이터를 가져 오는 루프

  15. 15

    AJAX 호출 및 Node에서 리턴 데이터 가져 오기

  16. 16

    반응에서 API에서 데이터 가져 오기

  17. 17

    Angular 1의 API 서버에서 JSON 데이터 가져 오기

  18. 18

    FK 충돌을 방지하기 위해 데이터를 가져 오는 올바른 순서 설정

  19. 19

    Seaborn swarmplot에 대한 올바른 형식으로 Pandas 데이터 프레임 가져 오기

  20. 20

    Node JS | 데이터베이스에서 지난 7 일 동안의 데이터 가져 오기

  21. 21

    API에서 모든 데이터 가져 오기

  22. 22

    laravel에서 darksky API 데이터 가져 오기

  23. 23

    API에서 문자열로 데이터 가져 오기

  24. 24

    django restframework의 api_key에서 데이터 가져 오기

  25. 25

    API의 객체에서 데이터 가져 오기

  26. 26

    배열에서 마지막 API 데이터 가져 오기

  27. 27

    JSON API에서 첫 번째 데이터 가져 오기

  28. 28

    로컬 API에서 데이터 가져 오기

  29. 29

    Yelp API에서 데이터 가져 오기

뜨겁다태그

보관