2017-11-16 14 views
1

아주 작은 html을 알고 있습니다. mongodb 조회를 수행하는 백엔드 애플리케이션이 있습니다. 몽고 쿼리를 실행하고 화면에 응답하는 웹 서비스에 값을 받아 들일 수있는 양식이있는 간단한 html 화면을 작성합니다. 내 웹 서비스 응용 프로그램에서이HTML 형식으로 백 슬래시를 전달하는 방법

\\test.server.com\filetest\test 

처럼 내 형태로 파일 이름 경로 필드를 통과하면

, 나는 어떻게 값없이 얻을 수있는 가치가

%5c%5Ctest.server.com%5cfiletest%5ctest 

로 오는 것을 볼 이 번역.

물질의 사실 나는 그 일이 몽고에 저장 됐는지 그대로이

\\\\test.server.com\\filetest\\test 

같이 올 것입니다 기대했다.

+0

불행히도 귀하의 코드가 필요합니다. 클라이언트 HTML 페이지에서 서버 측 코드까지의 값은 양식 데이터로 인코딩 된 POST 제출 양식 일 수도 있고 JSON 또는 URL 매개 변수로 인코딩 된 POST AJAX 호출 일 수도 있습니다. URL로 인코딩 됨) 또는 이들의 조합. 두 번째 것은 Mongo 운전자를 위해 물건을 벗어나는 방법입니다. 그러나 그것은 완전히 다른 문제입니다. –

답변

1

백 슬래시는 그대로 전달할 수 없습니다. URL은 ASCII으로 인코딩 될 수 있기 때문입니다. 이것이 의미하는 바는 Ü과 같은 특수 문자와 URL에서 이스케이프해야하는 문자 (공백, 백 슬래시 등)를 전달해야 할 때 ASCII 기호로 표현할 수있는 방법이 필요하다는 것입니다.

URL이 인코딩되고 백 슬래시가 %5c으로 변환됩니다. '\'로 되돌리려면 다음 중 하나가 필요합니다.

  1. 다시 서버 측 코드로 디코딩하십시오. 이것이 최선의 방법입니다. 이것은 백엔드가 사용하는 기술에 따라 다른 방법으로 수행됩니다. 예를 들어, PHP에서는 urldecode function - here을 사용할 수 있습니다.

  2. mongodb 자체에서 쿼리하기 전에 문자를 디코딩하십시오. 이 작업을 수행해야합니다. 왜냐하면이 기능을 사용자가 즉시 사용할 수있는 기능을 인식하지 못하기 때문입니다.

자세한 내용은 을 참조하십시오.

희망이 도움이됩니다.