2012-06-19 3 views
0

이상한 상황이 있습니다. 아래 내 페이지 : I, 즉 입력 할 때 페이지가 잘 실행스페이스 바를 입력하면 ajax가 중지됩니다.

echo $_GET['q']; 

:

<html> 
<script> 
$(document).ready(function(){ 
$("input").keyup(function(){ 
$("#mydiv").load("showlist.php?q="+this.value); 
}); 
</script> 
<input><br> 
<div id="mydiv">ajax content appear in here</div> 
</html> 

내 showlist.php는 다음과 같이 간단 텍스트 상자에 ABCDE {그것의 내용을 의미 mydiv 태그는 showlist.php에 의해 출력 된 내용으로 대체됩니다. 하지만 입력 할 때 abcd efgh {문자열에 하나의 공백이 있음을 의미합니다.} div에 아무 것도 표시되지 않습니다. 그냥 비어 있습니다! 내가 잘못 했나요?

답변

0

''(공간) 20 %로 urlencoded를해야 (A '+'도 할 것입니다) 당신의 URI의와 인코딩

을 : 당신은 그것을 전달하기 전에 문자열을 인코딩해야

var newUri = 'showlist.php?' + encodeURI("q="+this.value); 
$("#mydiv").load(newUri); 
2

$("#mydiv").load("showlist.php?q="+encodeURIComponent(this.value));

편집 : A useful SO question에 관한 encodeURIComponent()를 사용하여 서버에 0 대 encodeURI()

관련 문제