반응형

Error code 모음/6. Jav Script errors 9

[JavaScript Error]Uncaught SyntaxError: Unexpected token < in JSON at position 0

1. 발생 원인 회원가입 로직을 만들던 중 mysql 에 데이터를 등록하고 난 후 결과 값을 넘겨주는 과정에서 제대로 된 json 형식을 사용하지 않아서 에러가 발생했다. 2. 해결 과정 에러의 원인을 알아내고 난 뒤에는 많이 당황했었다. mysql 에서 데이터를 insert 한 뒤에 success 값을 json 으로 넘겼어야 했으나, res.send( ) 만으로 메시지만 넘기고 있어서 제대로된 json 값을 받지 못하고 있어서 난 에러였던 것이다. 원래는 res.success 라는 값이 res 안에 있을 경우 로그인 페이지로 넘어가도록 로직을 짰었는데.. 그것을 까먹고...res.send( ), res.status( ) 등 쓸데 없는 값을 전달했었고, 처음에는 아예 return 을 하지도 않았었다. 에..

[Node.js] req.flash is not a function - Passport 사용시 나타날 수 있는 에러들

1. 에러의 원인 req.flash is not a function 이 나타나는 에러의 원인은 다양한 것 같다. 정확하게 에러의 원인이 이것이다! 하고 단정하기는 어렵지만 서칭을 해보니 2가지의 원인이 있는 것 같다 authenticate 에서 에러가 뜨는 상황 req.flash를 사용헤 flash 메세지를 얻어오려는데 못얻어오는 상황. 나의 경우에는 req.flash 를 사용하지 않았는데 위 에러가 떴기에 좀 찾는데 시간이 오래 걸렸었다. 2. 해결 방법 1) Passport 사용시 Client에서 서버로 요청까지는 보내지는데 authenticate 에서 에러가 뜨는 상황 login 모듈을 사용시에 LocalStrategy 통해 로그인 정보를 받는다 passport.use(new LocalStrateg..

[ Node.js Error ] Not a valid BCrypt hash

1. 에러 원인 It happen because your password field on database have just a string, not a hashed string. 데이터베이스에 bcrypt 로 저장할때 hash string 이 아닌 일반 string 으로 저장이 되어서 발생하는 에러이다 2. 해결방법 hash 스트링 형태로 변형하여 넣으면 되는데 나의 경우에는 아래와 같이 했다. 1) bycrypt 모듈 설치 npm install bcryptjs 2) gensalt 로 salt 값 생성 후, 그 값을 hash 로 넘겨서 hash string 로 만들어 저장 bcrypt.genSalt(saltRounds, function(err, salt) { bcrypt.hash(myPlaintextPa..

[ Java Script Error ] Canvas is already in use. Chart with ID '0' must be destroyed before the canvas can be reused.

1. 에러 원인 태그에 canvas 를 넣었던 것이 화근이었음 태그의 경우에는 해당 태그 내에 value 가 담길 경우 그 value 들을 저장하여 다음 단계로 전달하는 역할을 한다 2. 해결 방법 태그를 없애는 쪽으로 해결을 했다. button 3. 참고 링크 하기 링크는 destroy( ) 를 써서 해결했다는 것이었다. 다른 해결방법이었지만 해당 방법은 적용하지 않았다 https://stackoverflow.com/questions/40056555/destroy-chart-js-bar-graph-to-redraw-other-graph-in-same-canvas Destroy chart.js bar graph to redraw other graph in same I am using the Chart.j..

[Node.js Error] Client on Node.js: Uncaught ReferenceError: require is not defined

1. 에러 원인 This is because require() does not exist in the browser/client-side JavaScript. Now you're going to have to make some choices about your client-side JavaScript script management. Node.js 의 "require" 메서드가 자바 스크립트의 브라우저/클라이언트 사이드 부분에 존재하지 않기때문에 발생한다. 이를 해결하기 위해서는 자바스크립트 부분의 클라이언트 사이드 쪽에 몇가지 방법을 사용하여 "require" 메서드를 인지시켜줘야 한다. 2. 해결 방법 해결방법에는 3가지가 있는것 같다 1. Use the tag. 2. Use a CommonJS im..

[JavaScript Error] ENOENT: no such file or directory, open

1. 에러 원인 This is probably because you are trying to write to root of file system instead of your app directory --> 앱 디렉토리(경로)가 아닌 root 경로에 쓰려고 해서 발생하는 것입니다 스트림에 대해서 공부하던 중 'createWriteStream' 에 대해서 공부하다가 나타난 에러이였다 2. 해결방법 const ws = fs.createWriteStream('src/big-file') 기존의 local 경로에서 src 아래의 경로로 수정해서 파일을 만들어 주었다 local 경로를 root경로로 인식하여 에러가 떴던것 같다. 3. 참고 링크 https://stackoverflow.com/questions/3481..

[Java Script Error] Chart Js Cannot read property 'length' of undefined

우선 chart.js 를 실행할 때, function( ) 을 사용하지 않아 위 에러가 발생했었지만, 다른 함수를 만들어 사용할 때도, 비슷한 에러를 몇번 발견한 적이 있었기 때문에.. 앞으로 함수를 만들어서 사용할 때는 꼭 function( ) 으로 감싸주고 사용해야 겠다. 원인 - The problem is that when your code executes, the canvas has not been created yet - 코드 실행시 가 아직 만들어지지 않았기 때문에 해당 문제가 발생 해결 - You should wrap your code inside a function and assign that function to window.onload event. - 코드를 function( ) 으로 ..

[MyBatis Error] 쿼리문이 정상인데 값이 안뜰 때 - resultType / resultMap

에러 상황 - 쿼리문이 정상으로 실행이 됨에도 불구하고, 값이 웹상에서 뜨지를 않았음. 에러 원인 - resultType 을 제대로 설정해주지 않았었음 - resultMap 을 사용하고 있었던 탓임 의문점 - resultType 과 resultMap 의 차이점은 무엇일까? resultType 이 구문에 의해 리턴되는 기대타입의 패키지 경로를 포함한 전체 클래스명이나 allias, collection 인 경우에 collection 타입 자체가 아닌 collection 이 포함된 타입이 될 수도 있다. 몇가지 가설을 세운 후 실험을 해본 결과, resultType 를 사용할 경우 대소문자를 가리지 않고 컬럼 값과 VO 값을 인식하여 맵핑을 해주는 것 같다. 그리고 ' _ ' 의 경우에는 자동으로 생략이 되게..

[JAVA Script error] Invalid shorthand property initializer

해당 에러는 자바스크립트에 맞지 않는 문법을 썼을 경우 나타나는 에러이다. 해당 에러를 발견할 경우에는 작성한 코드에 문법적으로 잘못 쓴 부분이 있나 체크해보는 것이 좋다. url = contextPath + "system/notice" 나의 경우에는 " = " 을 사용하여 발생했다 원래는 " : "을 써야한다. 아래와 같이 고쳐주면 된다 url : contextPath + "system/notice" 에러를 해결했다

반응형