반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- State
- v-html
- storybook
- 자료구조
- sass
- jsx
- input
- CSS
- nodejs
- Vue
- react
- ES6
- webpack
- Vue transition
- TypeScript
- 자바스크립트
- 쉬운설명
- JavaScript
- Wecode
- 리액트
- event
- mapGetters
- MySQL
- scss
- App.vue
- HOC
- Vue.js
- vuex
- express
- 댓글달기
Archives
- Today
- Total
익명의 개발노트
[해결] node 회원가입 api 구현간 발생한 에러 본문
반응형
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (_http_outgoing.js:470:11)
The error "Error: Can't set headers after they are sent." means that you're already in the Body or Finished state, but some function tried to set a header or statusCode. When you see this error, try to look for anything that tries to send a header after some of the body has already been written. For example, look for callbacks that are accidentally called twice, or any error that happens after the body is sent.
핵심은 실수로 두 번 호출되는 콜백이나 몸이 전송된 후에 발생하는 오류를 찾아보는 것이다.
//ID 중복조회
const selectQuery = connection.query('select user_id from users',(err,rows)=>{
if(err){
throw err;
}else{
//결과값을 배열로 가져오기때문에 체크해줘야함
for(let i=0; i<rows.length;i++){
if(user_id === rows[i].user_id){
res.json({message : '400 Bad Request'})
}
}
}
});
//회원가입
const query = connection.query('insert into users set ?',sql,(err,rows)=>{
if(err){
throw err;
}else{
res.json({message : '200 OK'}) //프론트로 뿌려줌.
}
});
위 코드로 실행하면, ID 중복조회에서 중복된 값이 생기면 에러를 던지면서 서버가 끊긴다.
for문 안에서 요청이 2번 들어가서, 발생한 에러...
따라서, 코드를 바꿔주었다.
const selectQuery = connection.query('select user_id from users where user_id=?',[user_id],(err,rows)=>{
if(rows.length == 0){
const query = connection.query('insert into users set ?',sql,(err,rows)=>{
if(err){
throw err;
}else{
res.json({message : '200 OK'}) //프론트로 뿌려줌.
}
});
}else{
res.json({message : '400 Bad Request'});
}
});
따라서, 해결. 굿나잇.
반응형
'코딩일기 > 에러 일지' 카테고리의 다른 글
[mysql] ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (0) | 2019.11.03 |
---|---|
TypeError: Cannot assign to read only property 'exports' of object '#<Object>' (0) | 2019.10.30 |
[해결] mysql 정보 insert시 발생한 에러. (0) | 2019.06.28 |
[해결] 댓글달기-모달창구현 중 에러 (0) | 2019.04.05 |
[해결] 댓글달기 (투표버튼과 카운트) (0) | 2019.03.30 |
Comments