티스토리 뷰

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

원격서버에서 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
Today
Yesterday
«   2025/08   »
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
글 보관함