2013-09-26 2 views
2

jsp 페이지에서 서블릿으로 더하기 기호 (+)가 포함 된 문자열을 전달하지만 서블릿에서 문자열에 "+"대신 공백이 있습니다. ."+"가있는 문자열을 jsp에서 서블릿으로 보내기

JSP 코드 :

 var data = {Certificate:"KgAwIBAgIQQ+1b5xQKgN0HfjIAPy+vdjANBg",Id:10043}; 
    $.ajax({ 
      type: "POST", 
      url: "Assinatura", 
      data: 'signStart=' + JSON.stringify(data) 
     }); 

서블릿 코드 :

request.getParameter("signStart"); //KgAwIBAgIQQ 1b5xQKgN0HfjIAPy vdjANBg 

내가 서버 측의 공백을 대체 할 수있는 알고 있지만, 더 나은 솔루션이 있다면 방황했다. 같은

+1

당신은'대신'+'의 %의 2B'를 사용하려고 할 수 있습니다. –

+1

송신 측에서 데이터를 적절하게 URL 인코딩합니까? – chrylis

답변

1

를 통과 할 때 인코딩 할 필요가있다.

$.ajax({ 
    type: "POST", 
    url: "Assinatura", 
    data: 'signStart=' + encodeURIComponent(JSON.stringify(data)) 
}); 

또는 대신 문자열의 개체로 data을 전달할 수 있습니다 : 당신은 그것을 위해 encodeURIComponent을 사용할 수 있습니다

data: {'signStart': JSON.stringify(data)} 
+0

encodeURIComponent()가 완벽하게 작동합니다. –

5

문자는 "+"URL

귀하의 아약스 요청에 서블릿을 통과하면서 당신은 문자열을 인코딩해야
+4

'URLEncoder.encode (데이터, "UTF-8")'정확해야합니다. –

관련 문제