2010-03-14 2 views
1

다음 코드를 사용하여 서버에 게시 한 다음 검색을 통해 일치 항목을 찾기 위해 MYSQL 쿼리로 보냅니다.JQUERY AJAX, 공백이 서버로 전송되는 문제, 이유는 무엇입니까?

$.ajax({ 
url: '/search/spotlight/', 
data: "q=" + $(this).val(), 
success: function(data) { 
} 
}); 

Q 값에 공백이 있으면 문제가 발생합니다. 이 문제를 제대로 처리하고 있는지 궁금합니다. AJAX 호출에서 값을 인코딩해야합니까? ? /검색/스포트라이트 /이 권리는 Q = FIRSTNAME % 20LastName

입니다 : 또는이 지금 JQUERY가 서버에 다음과 같은 게시되어

ColdFusion에서

내 백엔드에 문제입니까?

답변

4

클라이언트 측에서 괜찮아 보입니다. ColdFusion의 문자열에서 URLDecode을 사용하여 % 20을 공백 (및 다른 특수 문자도 가능)으로 설정하십시오.

5

/search/spotlight/?q=FirstName%20LastName은 유효한 URL 문자열입니다. 내 생각 엔 서버 쪽 스크립트가 상황을 더 잘 처리해야합니다.

BTW 당신은 ​​JQuery와 당신을 위해 할 수있는 자신을 쿼리 문자열을 구축 할 필요가 없습니다 : 그것은 옳은

$.ajax({ 
url: '/search/spotlight/', 
data: {"q": $(this).val()}, 
success: function(data) { 
} 
}); 
1

... 20 %가 의미하는 공간

하지만 당신은 데이터를 설정해야합니다 like

data: {'q': $(this).val()}