0

私には奇妙な状況があります。以下のように私のページ:

<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は次のように単純です:

echo $_GET['q'];

ie: abcdeをテキスト ボックスに入力すると、ページは正常に実行されます {mydiv タグのコンテンツが showlist.php の出力に置き換えられたことを意味します}。しかし、abcd efgh {文字列に1つのスペースがあることを意味します}と入力すると、div内には何も表示されません。それはちょうど空白です!私は何を間違えましたか?

4

2 に答える 2

2

サーバーに渡す前に、次を使用して文字列をエンコードする必要がありますencodeURIComponent()

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

編集:vsに関する有用なSOの質問encodeURIComponent()encodeURI()

于 2012-06-19T04:41:57.167 に答える
0

' ' (スペース) は %20 に urlencode する必要があります ('+' も同様です)。

URI を次のようにエンコードします。

var newUri = 'showlist.php?' + encodeURI("q="+this.value);
$("#mydiv").load(newUri);
于 2012-06-19T04:41:33.313 に答える