2016-07-13 2 views
1

URL에 '&을 인코딩하는 방법이 필요합니다. 다음 예제를 확인하십시오 URL에서 '와 &와 유사한 문자를 이스케이프 처리합니다.

// "get_records.php?artist=Mumford%20%26%20Sons" 
"get_records.php?artist=" + encodeURIComponent("Mumford & Sons"); 

// "get_records.php?artist=Gigi%20D'Agostinos" 
"get_records.php?artist=" + encodeURIComponent("Gigi D'Agostino"); 

encodeURIComponent

'을 인코딩하지 않습니다. 대신 escape을 사용할 수는 있지만 권장되지 않습니다. 이 경우 어떻게해야합니까? 맞춤형 인코더를 만드시겠습니까?


나도 다른 문자를 탈출 할 수 있습니다 : :, /, ., ,, !, 예를 들어,에 대한 다음 문자열

"11:59" 
"200 km/h in the Wrong Lane" 
"P.O.D." 
"Everybody Else Is Doing It, So Why Can't We" 
"Up!" 

그래서 사용자 지정 인코더를 만드는 것이 최선의 방법처럼 보인다 . 내가 사용할 수있는 대체 접근법이 있습니까?

답변

1

이 기능을 직접 구현해야합니다.

MDN이 정확한 주제를 다루고 있습니다. & 문자 및 기타 문자도 포함하도록 제안서를 확장하면 trival이어야합니다.

이러한 문자는 더 정형화 된 URI 구분 용도가없는 경우에도, (! (,), '어느 보유 및 *) RFC 3986 준수에 더 엄격한하기 위해, 다음 안전하게 사용할 수 있습니다

function fixedEncodeURIComponent (str) { 
    return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { 
    return '%' + c.charCodeAt(0).toString(16); 
    }); 
} 

Source

+0

충분 보인다. 아마도, 나는 그것을 사용할 것이다. – akinuri

관련 문제