javascript 3

[jquery] Ajax로 배열 파라미터 넘길 때 인코딩 깨지는 현상

자바스크립트에서 배열을 만들어서 ajax로 파라미터를 보내려고 했다. 아래처럼.. 내가 원한 요청 URL은 이거였다. http://marobiana.tistory.com/test/save?value=aaa&value=bbb 근데 실제로 간것은.. 이렇게 깨짐 ㅎㅎ http://marobiana.tistory.com/test/save?value%5B%5D=aaa&value%5B%5D=bbb 해결법은 아래코드를 ajax 호출전에 추가하면 된다. jQuery.ajaxSettings.traditional = true; 스택오버플로에서 찾았는데, jquery 1.4 이상부터 요즘 스크립트 언어(루비나 php)같은 프레임워크를 수용하기 위해 반복적인 파라미터의 경우 자동으로 serialize를 한다고한다. 그것을 ..

개발/Javascript 2014.06.18

클로저란 무엇인가? (Closure)

클로저란? 한마디로 정의 내리기가 어렵다. 그래서 두가지 예를 들겠음. 1. 아래 예제는 클로저를 사용하는 예제다. outer함수랑 setTimeout함수가 있다. setTimeout 함수로 인해서 outer함수가 끝나고 2초 뒤에 alert이 두번 띄워질텐데, outer함수가 끝이 났으므로 그 안에 변수들도 소멸이 되어야 하는게 상식적인 생각이지만ㅋㅋ 외부 함수에 있는 변수를 내부 함수에서 접근할 수 있다. (생명주기가 끝났어도..) 이것이 클로저(closure). (메모리 누수의 원인이라는 ㅋㅋ) function outer(a) {var b = "test"; setTimeout(function() {alert(a);alert(b);}, 2000);} 2. 요 아래 코드도 클로저의 예다. var b=2..

개발/Javascript 2012.07.30