我正在使用以下代码发布到服务器,然后将其发送到MYSQL查询以通过搜索查找匹配项。
$.ajax({
url: '/search/spotlight/',
data: "q=" + $(this).val(),
success: function(data) {
}
});
当Q的val中有空格时,就会产生问题。我想知道我是否正确处理了这个问题?我需要在AJAX调用中对值进行编码吗?或者这是我的后端问题,即ColdFusion
现在JQUERY将以下内容发布到服务器: /搜索/聚光灯/ Q =姓%20LastName
这是对的吗?
答案 0 :(得分:5)
/search/spotlight/?q=FirstName%20LastName
是一个有效的网址字符串。我的猜测是你的服务器端脚本需要更好地处理事情。
顺便说一句,你不需要自己构建查询字符串,jquery可以为你做这件事:
$.ajax({
url: '/search/spotlight/',
data: {"q": $(this).val()},
success: function(data) {
}
});
答案 1 :(得分:4)
在客户端看起来不错。只需在ColdFusion中的字符串上使用URLDecode,即可将%20转换为空格(以及其他特殊字符)。
答案 2 :(得分:1)
是对的...%20表示空间
但你应该像这样设置数据
data: {'q': $(this).val()}