node js api 초고수 분 제발 도와주십시오.

node js api 초고수 분 제발 도와주십시오.

작성일 2018.09.08댓글 1건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요. 다름이 아니라 
node js 를 활용하여 api를 하나 만들고 있는데
자꾸 오류가 나서 질문 드립니다.

router.get('/users/:nameParam', (req, res) => {

console.log("param : "+req.params.nameParam);
var emailChk = req.params.nameParam;
db_mssql.connection.connect(function(){
var request =new db_mssql.sql.Request(db_mssql.connection)
var query ="";
query +=" SELECT EMAIL , EMPSEQ, EMPID, EMPNAME, CASE LEFT(EMAIL, CHARINDEX('@', EMAIL + '@')-1) WHEN @emailChk THEN 'SUCCESS' ELSE 'FAIL' END AS CHKRESULT";
query +=" FROM aaaaaa ";
query +=" WHERE RETDATE = '' ";
     query +=" AND EMPID NOT IN ('admin')";
     query +=" AND EMAIL NOT IN ('') ";
     query +=" AND COMPANYSEQ = '1' ";
     query +=" AND LEFT(EMAIL, CHARINDEX('@', EMAIL + '@')-1) = @emailChk ";
request.input('emailChk', sql.Int ,emailChk);
request.query(query)
.then(function(recordset) {
     res.status(200).json(recordset);
    }).catch(function(err) {
res.status(500).send(error)
});
});
});

이런식으로 제가 api/users/xxxx 호출하면 데이터를 받으려고 합니다.
근데 호출하면 자꾸 오류가 납니다.


UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1):
ReferenceError: error is not defined
오류가 나는데요.

중요한건 저기서 console로 nameParam도 잘 넘어오게 찍히고요,
저기서 그냥 param없이 쿼리만 해서 호출하면 결과값이 잘 나오거든요
근데 쿼리에 param값을 제대로 못 넣고 있는거 같은데 머가 문제인지 잘 모르겠습니다 ㅠ


왜 그러는지 알려주세요 고수님들 ㅠㅠ

각 관련된 request함수들은 아래와 같이 정의해서 쓰고 있습니다.
public input(name: string, type: (() => ISqlType) | ISqlType, value: any): Request;
public query(command: string): Promise<IResult<any>>;

부탁드려요 답답하네요 머가 잘못인지 모르니..


#node js #node js 설치 #node js 실행 #node js 게임 서버 #node js 란 #node js express #node js 버전 확인 #node js download #node js 웹서버 구축 #node js 업데이트

profile_image 익명 작성일 -

에러 내용에 답이 적혀있네요.

error라는 변수가 정의되지 않았다구요.

catch 블락을 보면 err라고 해놓고

정작 res.status(500).send(error) 라고 해놓으니 안 되는 거죠.

error를 err로 바꾸세요.