구글링으로 여러 해결 방법을 찾아봤는데, 사람마다 해결 방법이 달랐기 때문에 혹시나 참고가 되길 바라는 마음에 올리는 글입니다. 정답이 아닐 수도 있습니다. :)
제대로 잘 동작하고 있던 코드가 try~catch
구문 안으로 들어가자마자 오류가 났다. 처음엔 이게 왜 이러나 싶었는데, 좀 차분히 생각해보니 해결 방법을 찾을 수 있었다.
RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code
원인을 모르겠어서 찾기 위해 구글링을 했더니 사람마다 해결 방법이 달라 오히려 혼란을 가중시켰다.
res.send(number 값)
으로 response가 보내지는 것이 뭔가 문제를 발생시키는 것 같았다.insertId
를 넘기고 있어서 계속해서 테스트를 해봤더니, Invalid status code의 값이 insertId
와 동일하게 증가하고 있었다.Express 공식 문서를 살펴보니 response로 보낼 수 있는 값은, Buffer
, String
, object
, Boolean
, Array
만 가능했다. number
값은 response로 보낼 수 없었다!
코드를 res.send({id: result:insertId});
로 바꿔 object
형식으로 response를 넘기니 정상적으로 작동했다.
혹시 마지막에 해결 방법을 좀더 설명해주실수 있을까요? 제가 프론트엔드 입문자라 아직 지식이 부족해 이해가 어렵습니다. 저도 number 처리 때문에 같은 오류 코드가 나오는데요.
app.post("/", function(req, res){
var n1 = Number(req.body.n1);
var n2 = Number(req.body.n2);
var result = n1 + n2;
res.send(result);
});
js 파일에서 이부분을 어떻게 수정해야 계산값이 도출될까요?