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

在客户端看起来还可以。只需在 ColdFusion 中对字符串使用URLDecode,将 %20 转换为空格(以及其他特殊字符)。

于 2010-03-14T18:28:12.550 回答
1

没错... %20 表示空格

但你应该像这样设置数据

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