Я использую ColdFusion 9 и самую последнюю версию JQuery.
В верхней части моей страницы я использую это:
<cfajaxproxy cfc="artists" jsclassname="jsApp">
У меня есть поле поиска:
<input id="Artist" class="Search" type="text">
Когда пользователь вводит в поле поиска, значение передается в функцию jQuery:
$(".Search").keyup(function() {
var Artist = $("#Artist").val();
var QString = "Artist=" + Artist;
$("#ArtistSearchResultsDiv").load("ArtistSearchResults.cfm?"+QString);
});
Результаты поиска div загружают страницу с этими элементами в CFSCRIPT:
objArtists = createObject("component", "artists");
GetArtists = objArtists.getArtists(Artist);
У меня есть CFC, который выполняет запрос и возвращает правильные записи.
ПРОБЛЕМА заключается в том, что при вводе в поле поиска, как только я нажимаю пробел, в переменную QString больше не добавляются никакие значения, поэтому эти значения не передаются в запрос.
Вот как выглядит строка поиска в Firebug при поиске «The Beatles»:
GET http://127.0.0.1:8500/WebSites/AwesomeAlbums/GlobalAdmin/ArtistSearchResults.cfm?Artist=The
Он останавливается, как только видит пробел.
Итак, если вы искали "The Beatles", в переменную QString будет передано только значение "The". Если вы искали «Селин Дион», то только «Селин» будет пропущен.
Я предполагаю, что мне нужно как-то URL-кодировать QString. Это верно? Как мне это сделать?