2012-06-19 73 views
0

我有一個奇怪的情況。 我的頁面如下:阿賈克斯當空格鍵停止輸入時

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

的 ''(空間)需要將url編碼爲%20(一個 '+' 也將做)

編碼您的URI的搭配:

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

傳遞之前,您應該編碼字符串使用encodeURIComponent()服務器:關於:

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

編輯0 vs encodeURI()