저는 최근에 개발 팀을 가진 클라이언트를 선택했습니다. 나는 이미 개발 된 웹 사이트에서 일하고 있으며, 나에게 약간 이상한 것들을 실행 중이다.api 서버에서 req 객체 변경 중
나는 루트 핸들링 내에서 요청 객체를 엉망으로 만드는 것이 본질적으로 어려웠지만 (나는 완전히 틀릴 수있다.
다음 코드는 req.query.msg를 변수에 생성하고 ejs 페이지 렌더링을 통해 전달하는 대신 req.query.msg를 할당하는 이유가 확실치 않아 나를 혼란스럽게합니다.
/********************************************************
* *
* CHANGE PASSWORD ROUTE THAT POSTS THE NEW PASSWORD TO *
* DATABASE. *
* *
********************************************************/
app.post('/client/password', function (req, res) {
var url = URLS.ClientChangePW;
if(req.session.securityquestions[0].SSN !== "null" || req.session.securityquestions[0].SSN !== "undefined"){
if(req.body.pwd !== req.body.pwdconf){
res.redirect('/client/changePassword' + config.PWD_MISMATCH);
} else {
var ssn = req.session.securityquestions[0].SSN;
while(ssn.length < 9){
ssn = "0" + ssn;
}
url = url.replace("@ssn", ssn);
url = url.replace("@newpw", req.body.pwd);
}
request.put(url, function (err, xres, body) {
var data = JSON.parse(body);
if(data.status === 200){
email(req.session.securityquestions[0].EMAIL, "none", "forgotpw", function(result){
if(result){
req.query.msg = "Your password has been reset.";
} else {
req.query.msg = "Request unsuccessful. Please call number here for assistance.";
}
res.render('pages/login', {
session: req.session,
msg: req.query.msg
});
});
} else {
req.query.msg = "Request unsuccessful. Please call number here for assistance.";
res.render('pages/login', {
session: req.session,
msg: req.query.msg
});
}
});
}
});
다시 말하지만, 내가 틀릴 수 있기 때문에 req 객체를 실제로 사용한 적이 없습니다. 나는 항상 클라이언트가 요청을 설정하고이를 사용하여 응답을 보냈다.
이 질문을하기 전에 먼저 급행 의사에게 알려야한다고 생각합니다. http://expressjs.com/en/api.html – digit
req.query가 매개 변수 라우트에서 가져온 것을보고 있습니다 ... 왜 매개 변수 라우트에 문자열을 추가할까요? –
문서가 내 질문과 관련이 있는지 이해하지 못합니다. 왜 우리는 라우트 핸들러 내에서 req.query를 설정해야할까요? –