AJAX를 사용하여 struts 액션을 수행하고 있지만 모든 것이 정상이지만 요청 매개 변수로 URL에 매개 변수를 전달할 때 Firefox에는 문제가 있습니다. 해당 매개 변수에 해시 (#) 기호가 포함되어 있으면 firefox는 해당 기호 다음의 모든 항목을 제거하고 해당 매개 변수를 사용하지 않고 해당 매개 변수를 전송합니다.Firefox에서 작동하지 않는 url의 요청 매개 변수에 "#"해시 기호를 전달합니다.
예를 들어, im이 Firefox에서 test123 # abcd를 전달하는 경우 내 요구 사항에 바람직하지 않은 test123 # abcd와 대조적으로 동작 클래스에서 test123 만 얻고 있습니다. IE의 경우 완벽하게 작동합니다. Firefox에서 # 기호를 포함한 전체 매개 변수를 추출 할 수 있습니다.
자바 액션 코드도 게시해야하는지 알려주세요. 감사합니다.
JS는
var valuePassword=test123#abcd;
var url = "/test/ChangePwdAjax.do?newPass="+valuePassword;
var xmlHTTP = getXMLHTTPRequest();
이유는 데이터를 인코딩해야하기 때문입니다. 해쉬 (#)는 유효하지 않습니다. 해시 및 그 이후의 모든 것은 브라우저를 떠나서는 안됩니다. – Onkelborg
개인적으로 [이 문서] (https://developer.mozilla.org/en-US/)에 링크하고 싶습니다. docs/JavaScript/Reference/Global_Objects/encodeURIComponent) 대신 w3schools (하위 파문 문서를 생성하는 경향이 있음)를 사용합니다. –
고맙습니다. 모두 작동합니다. 이전에 생각대로 IE에서 문제가 없었습니다. 두 브라우저가 다르게 작동하는 이유가 궁금 해서요. URL 쿼리 문자열을 인코딩해야한다는 것에 동의합니다. 감사합니다 – user1697113