URL 매개변수 설정 시 특수 문자 인코딩
P粉348915572
P粉348915572 2023-08-17 11:25:49
0
2
373

특수 문자 $

도 포함해야 하는 일부 URL 매개변수를 설정해야 합니다.

현재 .set()를 사용하여 다음 매개변수의 값을 생성하고 설정하고 있습니다.

const myUrl = new URL("http://www.example.com/?"); let params = new URLSearchParams(); params.set('$param1', '60'); params.set('$param2', '100');

URL에 %24$를 얻으려면 encodeURI()를 사용해야 한다는 것을 알고 있습니다. code> - 그런데 어느 단계에서 해야 할까요?

매개변수를 문자열로 변환하고 이를 URL에 추가하는 동안 이와 같은 작업을 수행하면 이미 변환된 것입니다.

myUrl.search = encodeURI(params.toString()); // 출력: http://www.example.com/?%24param1=60&%24param2=100 // 예상값: http://www.example.com/?$param1=60&$param2=100


P粉348915572
P粉348915572

모든 응답 (2)
P粉147747637

필요하고 서버에서 지원하므로 마지막에 수정하면 됩니다

으아악
    P粉986028039

    귀하의 경우$字符被编码为%24,因为它是URL中的保留字符。URLSearchParams对象的set메소드는 결과 문자열이 유효한 URL인지 확인하기 위해 이러한 문자를 자동으로 인코딩합니다.

    그러나$문자를 있는 그대로 포함하려면 쿼리 문자열을 수동으로 작성하여 자동 인코딩을 우회할 수 있습니다.

    으아악

    이렇게 하면 원하는 결과가 나오지만,$는 예약된 문자이므로 URL 사양에 따라 유효한 URL이 아닐 수도 있다는 점에 유의하세요. 이로 인해 특정 서버나 API에 문제가 발생할 수 있습니다.

    상호작용 중인 서버나 API를 제어하고 쿼리 문자열에$字符的URL,则此方法应该有效。否则,通常最安全的做法是使用URLSearchParams문자가 포함된 URL을 처리할 수 있다고 확신하는 경우 이 방법이 작동할 것입니다. 그렇지 않은 경우 일반적으로URLSearchParams에서 제공하는 자동 인코딩을 사용하는 것이 가장 안전합니다.

    이 솔루션이 귀하에게 적합한지 또는 추가 지원이 필요한지 확인하십시오.

      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!