jQuery - 我需要对变量进行URL编码吗?

Evi*_*mes 5 coldfusion jquery

我正在使用ColdFusion 9和最新最好的jQuery.

在我的页面顶部,我用这个:

<cfajaxproxy cfc="artists" jsclassname="jsApp">
Run Code Online (Sandbox Code Playgroud)

我有一个搜索字段:

<input id="Artist" class="Search" type="text">
Run Code Online (Sandbox Code Playgroud)

当用户键入搜索字段时,该值将传递到jQuery函数:

$(".Search").keyup(function() {
  var Artist = $("#Artist").val();
  var QString = "Artist=" + Artist;
  $("#ArtistSearchResultsDiv").load("ArtistSearchResults.cfm?"+QString);
});
Run Code Online (Sandbox Code Playgroud)

搜索结果div在CFSCRIPT中加载包含这些项的页面:

objArtists = createObject("component", "artists");
GetArtists = objArtists.getArtists(Artist);
Run Code Online (Sandbox Code Playgroud)

我有一个运行查询的CFC并返回正确的记录.

问题是当我在搜索框中输入时,只要我点击一个空格,就不会向QString变量添加更多值,因此这些值不会传递给查询.

这是搜索"披头士乐队"时Firebug中搜索字符串的大小:

GET http://127.0.0.1:8500/WebSites/AwesomeAlbums/GlobalAdmin/ArtistSearchResults.cfm?Artist=The
Run Code Online (Sandbox Code Playgroud)

它一看到空间就停止了.

因此,如果您正在搜索"The Beatles",则只会将值"The"传递给QString变量.如果您正在搜索"席琳迪翁",只会通过"席琳".

我假设我需要以某种方式对QString进行URL编码.那是对的吗?我怎么做?

Mat*_*iva 9

var QString = "Artist=" + encodeURIComponent(Artist);
Run Code Online (Sandbox Code Playgroud)