jQuery의 직렬화 모듈
코드 복사에 r20 정규식이 있습니다. 코드는 다음과 같습니다.
var r20 = / /g,
jQuery.param 메소드는 데이터를 제출하기 전, 데이터에 공백이 포함된 경우 encodeURIComponent를 통과한 후 모든 " "를 " "로 변환합니다. 공백은 " "으로 변환됩니다.
encodeURIComponent (' ') === ' '; // true
마지막으로 Post 제출 전에 " "를 "="로 변환해야 합니다. 이렇게 해서 백그라운드 프로그램이 받는 것은 실제 공간이다.
encodeURIComponent는 MDC 설명을 참조하세요
encodeURIComponent는 다음을 제외한 모든 문자를 이스케이프합니다: 알파벳, 십진수, - _ * ' ( )
서버에 대한 예기치 않은 요청을 방지하려면 URI의 일부로 전달될 사용자 입력 매개변수에 대해 encodeURIComponent를 호출해야 합니다. 예를 들어 사용자는 변수 설명에 대해 "Thyme &time=again"을 입력할 수 있습니다. 이 변수에 대한 encodeURIComponent는 comment=Thyme &time=again을 제공합니다. 앰퍼샌드와 등호는 "Thyme &time=again"과 동일한 POST 주석 키를 갖는 대신 두 개의 POST를 갖습니다. 키 중 하나는 "Thyme"이고 다른 하나는 다시 같습니다.
application/x-www-form-urlencoded(POST)의 경우 http://www.w3.org/TR/에 따라 html401/interac...m-content-type, 공백은 ' '로 대체되므로 " "를 " "로 추가로 대체하여 encodeURIComponent 대체를 수행할 수 있습니다.
관련 :
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent
http://www.w3.org/TR/html401/interact/ Forms.html#form-content-type