encodeURI 및 encodeURIComponet 함수는 모두 JavaScript에서 URI를 인코딩하고 관련 매개변수를 UTF-8 인코딩 형식의 데이터로 변환하는 데 사용됩니다. URI가 위치 점프를 수행하면 매개변수에 포함된 중국어, 일본어 등 ASCII가 아닌 코드가 코드 변환됩니다.
이 두 기능의 기능은 비교적 유사하지만 몇 가지 차이점이 있습니다.
encodeURI: 인코딩되지 않는 문자는 82개입니다: !, #, $, &, ', (,), *, ,,,-,.,/,:,;,=,?,@, _,~,0-9,a-z,A-Z
encodeURIComponent: 인코딩되지 않는 71개의 문자가 있습니다: !, ', (,), *, -, ., _, ~, 0-9, a-z, A-Z
질문:
ajax.get( url '?k1'=v1 '&k2'=v2 '&k3'=v3, ... );
document.write(encodeURI("http://www.w3school.com.cn")+ "<br />") document.write(encodeURI("http://www.w3school.com.cn/My first/")) document.write(encodeURI(",/?:@&=+$#")) //批注:只转换域名后面的部分,并且对,/?:@&=+$#不处理。 // http://www.w3school.com.cn // http://www.w3school.com.cn/My%20first/ // ,/?:@&=+$#
encodeURIComponent() 사용법
document.write(encodeURIComponent("http://www.w3school.com.cn")) document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/")) document.write(encodeURIComponent(",/?:@&=+$#")) //对比 // http%3A%2F%2Fwww.w3school.com.cn // http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F // %2C%2F%3F%3A%40%26%3D%2B%24%23