1

次のコードを使用してサーバーに投稿し、MYSQL クエリに送信して検索で一致を見つけます。

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

Q の val にスペースが含まれていると、問題が発生します。これを正しく処理しているかどうか疑問に思っていますか?AJAX 呼び出しで値をエンコードする必要がありますか? それとも、これは ColdFusion である私のバックエンドの問題ですか?

現在、JQUERY は次の内容をサーバーに投稿しています: /search/spotlight/?q=FirstName%20LastName

これは正しいですか?

4

3 に答える 3

5

/search/spotlight/?q=FirstName%20LastName有効な URL 文字列です。私の推測では、サーバー側のスクリプトは物事をより適切に処理する必要があります。

ところで、クエリ文字列を自分で作成する必要はありません。jquery で作成できます。

$.ajax({
url: '/search/spotlight/',
data: {"q": $(this).val()},
success: function(data) {
}
});
于 2010-03-14T18:25:01.233 に答える
4

クライアント側では問題ないように見えます。%20 をスペース (およびその他の特殊文字) に変換するには、ColdFusion の文字列に対して URLDecodeを使用するだけです。

于 2010-03-14T18:28:12.550 に答える
1

そうです... %20はスペースを意味します

ただし、このようにデータを設定する必要があります

data: {'q': $(this).val()}
于 2010-03-14T18:26:23.713 に答える