Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能发现我的错误吗(自动完成文本框)?_Javascript_Php_Ajax - Fatal编程技术网

Javascript 有人能发现我的错误吗(自动完成文本框)?

Javascript 有人能发现我的错误吗(自动完成文本框)?,javascript,php,ajax,Javascript,Php,Ajax,到目前为止,我有HTML: <div id="box" style="width:400; height:400; margin-left:auto; margin-right:auto; margin-top:100;"> <h2>Enter a word</h2> <input type="text" id="input" ></input> </div> <div id="suggest"> </di

到目前为止,我有HTML:

<div id="box" style="width:400; height:400; margin-left:auto; margin-right:auto; margin-top:100;">
<h2>Enter a word</h2>
<input type="text" id="input" ></input>
</div>
<div id="suggest">
</div>

输入一个单词
Javascript:

<script type ="text/javascript">
$(document).ready(function(){
$("#input").keyup(function(){
var input = $("#input").val();
$.ajax({
url: "PathToPHPFileThatConnectsToDatabaseAndRetreivesValues",
data: "input"+input,
success: function(msg){
alert(msg);
$("#suggest").html(msg);
}
});
});
});
</script>

$(文档).ready(函数(){
$(“#输入”).keyup(函数(){
变量输入=$(“#输入”).val();
$.ajax({
url:“PathTopHPFileThatConnectstoDatabaseandTrevesValue”,
数据:“输入”+输入,
成功:功能(msg){
警报(msg);
$(“#建议”).html(msg);
}
});
});
});
PHP:



现在,这些代码应该一起工作,用id=“suggest”自动完成div,然后在选中时用id=“input”填充文本字段。。。我不断得到警告,内容如下:

    像这样更改ajax代码

    $.ajax({
    url: "PathToPHPFileThatConnectsToDatabaseAndRetreivesValues",
    data: {"input":input},
    success: function(msg){
    alert(msg);
    $("#suggest").html(msg);
    }
    });
    

    问题是因为在php中,变量名不同。您添加了$dataarray而不是$dataarray

    另外,对于ajax

    可以将数据作为字符串或对象传递

    数据:{“输入”:输入}

    数据:“输入=”+输入


    在ajax中添加类型:“POST”

    您需要以这种方式添加数据:“input=“+inputsame alert正在出现……您可以在查询附近执行回显退出并检查查询并打印您的POST数组吗。print\r($\u POST)数组打印为空…添加它后,print\r($POST)现在只返回我键入的内容。。。例如,如果我键入字母“a”,则会打印“数组([input]=>a)”。。。如果我继续使用“ab”,则会打印“Array([input]=>ab)”,但是它似乎并没有从我的数据库中检索我正在使用我的查询查找的值…回显您的查询并在mysql控制台中检查它是否返回值选择“Resource id#3”不要回显查询结果,而是回显查询变量$query,然后在mysql控制台中检查查询是否正在生成结果,或者添加此mysql_num_行($data)并检查得到的值这是问题$dataarray[$arrcnt]=$temp;变量名应为dataArray
    $.ajax({
    url: "PathToPHPFileThatConnectsToDatabaseAndRetreivesValues",
    data: {"input":input},
    success: function(msg){
    alert(msg);
    $("#suggest").html(msg);
    }
    });