JQuery - мне нужно URL кодировать переменную? - PullRequest
5 голосов
/ 20 сентября 2011

Я использую 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. Это верно? Как мне это сделать?

1 Ответ

9 голосов
/ 20 сентября 2011
var QString = "Artist=" + encodeURIComponent(Artist);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...