자바 스크립트 (jquery 사용)를 사용하여 # 기호를 AJAX 호출을 통해 GET 매개 변수로 전달했습니다.# 기호를 URL의 GET 쿼리 문자열의 일부로 전달하려면 어떻게합니까?
지금 문제는 # 기호가 내 쿼리 문자열을 깨뜨리는 것입니다.
도움을 주시면 감사하겠습니다. 감사!
자바 스크립트 (jquery 사용)를 사용하여 # 기호를 AJAX 호출을 통해 GET 매개 변수로 전달했습니다.# 기호를 URL의 GET 쿼리 문자열의 일부로 전달하려면 어떻게합니까?
지금 문제는 # 기호가 내 쿼리 문자열을 깨뜨리는 것입니다.
도움을 주시면 감사하겠습니다. 감사!
문자열에서 %23
으로 바꿔야합니다. 그러나이 작업을 직접 수행하는 대신 Javascript 함수 encodeURIComponent
을 사용하여 URL의 문자를 인코딩해야합니다.
또는 jQuery.ajax를 사용하는 경우 data
옵션을 통해 매개 변수를 전달하여 매개 변수를 자동으로 인코딩 할 수 있습니다.
encodeURIComponent()를 사용하십시오.
해당 문자를 전달하려면 escape, encodeURIComponent 함수 등을 사용하여 URL을 인코딩해야합니다. 문자를 % counter-partts로 변환합니다. 예를 들어 #은 % 23이됩니다
jQuery.ajax에 data 매개 변수를 전달하는 경우 jQuery가 인코딩을 수행합니다. URL을 직접 작성하지 않아야합니다.
$.ajax({ url : "http://myserver.com/mypage.aspx",
data : {'key1' : 'value#', 'key2' : 'value&&'}
...
});
+1 아마도 이것이 가장 우아한 방법 일 것입니다. –
ecape가 ISO-8859-1에없는 UTF-8 문자를 손상 시키므로 encodeURIComponent()가 escape()보다 우수합니다. – AlexV