【发布时间】:2017-03-21 18:16:20
【问题描述】:
好的,所以我有这种情况。 我有一个叫做技能的表,有一个简单的模式
id|name
It has records like
1|Cashier
2|Software Developer
3|C#
4|C# 3.0
5|C# Programming
所以,在前端我有一个带有下拉菜单的文本框,它可以进行 ajax 调用,并在您键入时用 ajax 调用的结果填充下拉列表,例如
$.getJSON(that.path + "?q=" + encodeURIComponent(keyword) , function(result){
if (result.length == 0) {
得到匹配的结果。
如果我搜索“软件”和“收银员”等词,我会得到正确的结果。 但问题是当我搜索任何带有“#”符号的技能时。
that.path 引出一个php函数
public function findSkills() {
print_r($_GET['q']);
如果我想搜索所有带有“#”的技能,我的 ajax 调用 URL 会变成类似
http://somedomain.xyz/skills/findSkills?q=%23
然后当我打印 $_GET['q'] 时,我什么也没打印。 我该如何克服这个问题?
预期的 SQL 查询
SELECT * FROM skills WHERE (`name` LIKE '%#%') ORDER BY `id` ASC LIMIT 10
我已经读到,在哈希(包括哈希)之后的 URL 中的任何部分都不会发送到服务器。 如果是这种情况,是否有其他方法可以实现这一点,让我可以使用“#”获取记录的 SQL 查询?
任何帮助都将不胜感激。如果需要,请让我知道我是否缺少任何其他数据/更多代码。我会相应地更新问题。
【问题讨论】:
-
我认为这应该可以使用
$_POST而不是$_GET。 -
或者您可以在 javascript 中检查是否正在尝试发送
#并将其更改为自定义值,并检查服务器是否设置了自定义值。
标签: php jquery mysql ajax getjson