2016-07-30 10 views
0

로 요청을 전송 :

$http.get('api/me', { 
    params: { 
     email: email 
    } 
}); 

을하지만 백엔드에서 내가 PARAMS 즉 빈 request.params를 수신하고 빈입니다. 나는 즉 HTTP 요청

$http({ 
    url: 'api/me', 
    method: "GET", 
    params: {email: email} 
}); 

의 다른 형식을 시도했지만 결과는 백엔드에서 즉 빈 PARAMS 동일합니다.

내 백엔드 코드 :

User.findOne({ email: request.params.email }, function(error, user) { 
    if (error) { 
     throw error; 
    } else if (!user) { 
     response.json({ 
      message: "User doesn't exist.", 
      status: 0 
     }); 
    } else { 
     response.json({ 
      message: "Successfully logged in.", 
      status: 1, 
      data: user 
     }); 
    } 
}); 
+0

첫째. 백엔드에서는 질문에 "request.params"가 아닌 "email"매개 변수가 있어야합니다. 백엔드 코드를 보여줄 수 있습니까? – cnorthfield

+0

@papakia 예. 당신 말이 맞아요. 나는 형식을 오해했다. 이메일을'request.params' 또는'request.headers' 또는'request.body'로 가져올 수있는 형식으로 이메일을 얻을 수있는 방법이 있나요? ('request.body'를 원하지 않지만요. 'GET' 요청입니다). 질문을 편집하고 백엔드 코드를 추가했습니다. – Rusty

+0

Express를 사용하고 있습니까? 그렇다면 여기에 게시 된 답변을 참조하십시오 : http://stackoverflow.com/a/9243020/3453034 – cnorthfield

답변

0

당신은 데이터를 전송하기 위해 PARAMS을 사용할 수 없습니다. 대신, 데이터 자체

$http({ 
    url: 'api/me', 
    method: "GET", 
    data: {email: email} 
}); 

다음 백 엔드에서

: 이메일 변수에 할당 된 값이있는 경우 모든 검사

User.findOne({ email: request.email }, function(error, user) ...