jqueryautocomplete将空get值发送到php

jqueryautocomplete将空get值发送到php,php,jquery,jquery-ui,jquery-plugins,autocomplete,Php,Jquery,Jquery Ui,Jquery Plugins,Autocomplete,我对jquerynjavascript非常陌生。我正在尝试制作一个自动完成功能。我正在使用一个diff页面中的示例代码来实现这一点。但是它传递给php页面的“术语”是空的。所以自动完成不起作用。我不明白为什么,有人能看一下吗?我没有改变标签,但我只是想测试一下,看看它是否有效。问题在于php页面,请求“term”为空 <head> <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/b

我对jquerynjavascript非常陌生。我正在尝试制作一个自动完成功能。我正在使用一个diff页面中的示例代码来实现这一点。但是它传递给php页面的“术语”是空的。所以自动完成不起作用。我不明白为什么,有人能看一下吗?我没有改变标签,但我只是想测试一下,看看它是否有效。问题在于php页面,请求“term”为空

<head>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
    <script>
    $(function() {
        $( "#txtLanguage" ).autocomplete({
            source: "source.php",
            minLength: 1 // how many character when typing to display auto complete
        });
    });
    </script>
</head>
<body>
<label for="Language">Language: </label>
    <input id="txtLanguage" class="txtLanguage"/>
</div>
</body>
</html>

<?php

include 'dbconnect.php';



    $q=$_REQUEST['term'];

    echo $q;

    $return = array();
   $stat="SELECT email FROM users WHERE email LIKE '$q'";
   $query = sqlsrv_query($conn,$stat);
    while ($row = sqlsrv_fetch_array($query,SQLSRV_FETCH_ASSOC)) {
        array_push($return,array('label'=>$row['email'],'value'=>$row['email']));
    }
    echo(json_encode($return));



?>

$(函数(){
$(“#txtLanguage”).autocomplete({
来源:“source.php”,
minLength:1//键入以显示自动完成时的字符数
});
});
语言:

使用$\u GET['term']而不是$\u REQUEST['term']

我想您需要这个:

 $stat="SELECT `email` FROM `users` WHERE `email` LIKE '$q%'";

您忘记了%symbol和不带%LIKE等于
email='$q'

您确定文件路径正确吗?控制台中是否存在javascript错误

  • 试试控制台
    $(“#txtLanguage”)
  • 删除source.php并添加一个数组

  • 希望这对您有所帮助。

    这是页面名“search.php”吗?好的,下面是发生的情况,我对它进行了更改,现在它显示了所有电子邮件值,但不是在HTML页面中,而是在source.php中。我只是重复了一下,看看效果如何。$q仍然是空的,但我认为JSON东西在一个文件中显示了所有这些源代码?您需要将其拆分为两个文件:php和html。Put
    var\u dump($\u GET)看看这里有什么变量。我想我误解了你的要求,它被分成两个独立的文件。我之前的意思是,它们都被上传到同一个目录。放置
    var\u dump($\u GET)
    ,并显示当您向源代码发出ajax请求时它打印的内容。php
    $\u request
    自动包含
    $\u GET
    $\u POST
    中的所有内容(除非您禁用该php功能)@kumarensandran它由
    php.ini
    @kumarensandran中的
    request\u order
    选项控制,请参见