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

标签 jquery coldfusion

我正在使用 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 变量添加任何值,因此这些值不会传递给查询。

以下是搜索“The Beatles”时 Firebug 中搜索字符串的大小:

GET http://127.0.0.1:8500/WebSites/AwesomeAlbums/GlobalAdmin/ArtistSearchResults.cfm?Artist=The

一看到空格就会停止。

因此,如果您正在搜索“The Beatles”,则只有值“The”会被传递到 QString 变量中。如果您搜索“Celine Dion”,则只会传递“Celine”。

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

最佳答案

var QString = "Artist=" + encodeURIComponent(Artist);

关于jQuery - 我需要对变量进行 URL 编码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7477414/

相关文章:

javascript - 用于大型 Web 应用程序的 native 或 jQuery

javascript - html5up! meteor 条纹

javascript - 选择 2 类型错误 : b is undefined

string - 查找列表中最长项目长度的最有效方法是什么?

javascript - 从选中的复选框中获取值并使用 Javascript/jQuery 将它们放入数组中

javascript - 链接的位置元素

coldfusion - 如何扩展 Coldfusion 中的 32 位限制?

coldfusion - 如何让 DateCompare() 在 ColdFusion 10 中运行?

sql - 返回一个 oracle 列作为时间戳

function - Coldfusion 检查函数是否存在