티스토리 뷰

개발서버에서는 이상이 없는데

원격서버에서 socket.on('some event', function(data){ });
클라이언트에서 전송된 message data가 object type이 아닌 string 형식 등으로
받아지는 문제가 발생했다.

문제를 일으키는것은 PrototypeJS 이었다.

PrototypeJS v1.6.x 가 JSON.parse, JSON.stringify Overrides 하여
socket.io 의 JSON 관련 모든 기능 깨먹는 문제가 발생하는 것.

아래와 같은 코드를 사용하면 해결됨.

if(window.Prototype) {
    delete Object.prototype.toJSON;
    delete Array.prototype.toJSON;
    delete Hash.prototype.toJSON;
    delete String.prototype.toJSON;
}

출처 : http://stackoverflow.com/a/21315324

교훈 : PrototypeJS와 NodeJS는 되도록 함께 쓰지 말자!

댓글
댓글쓰기 폼
Total
923,157
Today
43
Yesterday
196
«   2021/06   »
    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      
글 보관함