将输入字符串转换为GET变量
Convert a input string to GET variable
我正在尝试创建一个ajax搜索页面,它显示类似于谷歌的实时结果。
现在,我正在努力解决如何将搜索查询(如small dog
)转换为GET
参数的问题,在这种情况下,它将是"searchresults?search=small+dog"
。我想要的是将单词之间的所有空白替换为+
,并删除单词前后的空白。
我认为regex是可能的,或者有一些javascript或jquery函数来编码它吗?
我尝试使用escape
、encodeURI
,但它使空白CCD_ 7。PHP会理解它们是多个单词吗?
要手动转义Javascript中的查询组件,只需使用encodeURIComponent
:
var url = '/searchresults?seach=' + encodeURIComponent(query);
要在之前修剪查询字符串,请对该字符串使用.trim()
。
可能也有用:每个web开发人员都必须了解的关于URL编码的信息
$.get("searchresults", {search : query}, function(data){
// do something
});
它会自动添加"+",在php端,您可以简单地调用urldecode($str);
与其把它放在URL中,这会导致各种转义问题,不如像下面这样POST并将数据发送到搜索文件:
您的AJAX
$.ajax({
url: 'search.php'
,async: true
,cache: false
,type: 'POST' // <-- method of sending to server
,data: {
'search': ' small dog '; // notice white space before and after
}
,dataType: 'json' // server returns info in this format
,success: function(data){
// do something here with return data
console.log(data);
}
});
search.php
echo trim($_POST['search']); // gives you 'small dog'
相关文章:
- 如何使Jquery编码的动态下拉菜单与PHP GET变量协调工作
- 如何使用jQueryPOST将get变量从JavaScript传递到PHP-Mysql
- 检查是否已设置GET变量
- 如何获取get变量's值
- 如何在 jQuery 中获取具有特定父类的所有元素的内容,并将它们传递给 GET 变量
- 获取重复Get变量的查询字符串值
- 我们可以在javascript url中传递GET变量吗
- 使用javascript设置GET变量
- Javascript等同于PHP的GET变量
- jquery 从 javascript 文件中获取 GET 变量
- 使用 get 变量缓存静态 HTML 页面
- 在表单提交中添加额外的 GET 变量
- 在表单提交后将 get 变量附加到 url,而无需新的隐藏输入
- Javascript 删除所有具有历史推送状态的 get 变量
- 通过jQuery更改表单上的操作后,GET变量将消失
- 使用jQuery/Javascript访问GET变量
- 如何在jquery中从ajax响应中检索GET变量
- 将输入字符串转换为GET变量
- 将GET变量挂接到加载的JavaScript事件中
- 将GET变量从URL传递到.js,并从.js传递到.php