jquery autocomplete发送空$ _GET [“term”]

时间:2014-10-30 06:59:04

标签: javascript php jquery mysql autocomplete

我的查询非常简单。我无法在我的php页面中获取从我的Jquery自动完成功能发送的选定值。我会进一步解释。首先,这是我的html页面中的代码。

<form action="http://localhost/SearchRes/" method="POST">
        <input type="text" name="searchbyvalue" id="a" class="a" placeholder="Type a letter to search"><br><br>
</form>

我的脚本如下所示:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" />
    <script type="text/javascript">
            $(document).ready(function(){
                $("#a").autocomplete({
                    source:'search.php',
                    minLength:1
                });
            });
 </script>

此外,我的search.php正在尝试使用$ _GET [&#34; term&#34;]接收在文本框中输入的字母,如下所示:

if (isset($_GET['term'])
{
  $return_arr = array('Generate Ideas', 'Define Products');
}
echo json_encode($return_arr);

然而,我的问题是$ _GET [&#34; term&#34;]永远不会被设置。如果我删除了&#39; if&#39;条件,代码工作正常。我也试过使用$ _REQUEST [&#34; term&#34;],但是它也没有用。我在这做错了什么?请指教。

我正在尝试使用用户输入的字符搜索数据库。所以我必须进一步使用$ _GET [&#34; term&#34;]中的值来形成查询并搜索数据库。但是由于这些值从未在php文件中收到,所以此时我的工作停滞不前。

3 个答案:

答案 0 :(得分:0)

请检查您是否有条件,忘记使用关闭括号。

if(isset($_GET['term'])) 
{
  $return_arr = array('Generate Ideas', 'Define Products');
}
echo json_encode($return_arr);

享受..............

答案 1 :(得分:0)

请使用ajax将参数发送到服务器。

 source: function( request, response ) {
               $.ajax({
                   type:"GET",
                   url : 'search.php?term='+$("#a").val(),
                   dataType: "json",
                   success: function( data ) {
                            response(data);
                   }
               });
          },

答案 2 :(得分:-1)

您的if条件写得不正确:

if (isset($_GET['term'])应为if (isset($_GET['term']))