2012-10-31 6 views
1

jQuery에서 Ajax 요청을하고 있습니다. 어떤 이유로 facetValue 사이에 공백이 있으면 더하기 기호로 인코딩됩니다. 하이브리드 자동차를 얻으려면 하이브리드 + 자동차로 보내지 만이 때문에 내 반환 값은 아무것도 아닙니다. 어떤 생각인지 알 겠어? 데이터가 URL 인코딩되고Ajax 요청에 전달 된 매개 변수의 공백이 +로 대체되었습니다.

$.ajax({url:"usageSearch.jsp", 
    type : 'POST', 
    data:{searchquery:querystring,facetValue:facetValue,facetname:facetname}, 
    success:function(result){ 
     var usages=$.parseJSON(result);   
    }); 
} 
+1

공간, URL 또는 요청 본문 중 하나로 인코딩해야합니다

data:{searchquery:escape(querystring),facetValue:escape(facetValue),facetname:escape(facetname)} 
. 서버 측에서 그에 따라 데이터를 디코딩 할 수 있어야합니다. –

답변

0

나는 당신의 요청이 POST를 사용하려고 GET으로 전송되는 것을 말할 것입니다. 작업 전에 해독해야합니다. 다음과 같이 수행 할 수 있습니다 PHP에서 :

$decoded_data = urldecode($rawdata); 
0

을,이 정상적인 절차 :


function fetchResults(facetname,facetValue){ 
    $.ajax({url:"usageSearch.jsp", 
    data:{searchquery:querystring,facetValue:facetValue,facetname:facetname}, 
    success:function(result){ 
     var usages=$.parseJSON(result);   
    }); 
} 
0

시도 :

url:escape("usageSearch.jsp"), 

즉 정상적인 동작 그래서
관련 문제