Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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 jquery-使用PHP自动完成_Javascript_Php_Jquery_Html_Mysqli - Fatal编程技术网

Javascript jquery-使用PHP自动完成

Javascript jquery-使用PHP自动完成,javascript,php,jquery,html,mysqli,Javascript,Php,Jquery,Html,Mysqli,我试图用jQueryUI自动完成搜索字段,但在使用PHP作为源代码时遇到了问题。当我使用变量作为源时,一切正常 JS: 但只要我使用PHP脚本,即使它只是保存一个数组并对其进行编码,它也不会 JS: 建议_search.php: $data = [ "ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL"

我试图用jQueryUI自动完成搜索字段,但在使用PHP作为源代码时遇到了问题。当我使用变量作为源时,一切正常

JS:

但只要我使用PHP脚本,即使它只是保存一个数组并对其进行编码,它也不会

JS:

建议_search.php:

$data = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];
echo json_encode($data);
我就是不明白为什么,有什么建议吗

编辑:原来的问题解决了,只是一个链接问题

现在我想从SQL中获取数据,但我不知道我在哪里又犯了错误

我的phpcode:

<?php
header('Content-Type: application/json');
include(scripts/db_connect.php);
$searchTerm = filter_input(INPUT_GET, 'term');
$select = mysqli_query($db_mysqli, " SELECT * FROM $db_table WHERE top_name like '%$searchTerm%'");
while ($row=mysqli_fetch_array($select)) 
{
 $data[] = $row['top_name'];
}
echo json_encode($data);

这并不是那么简单,我真的不知道为什么,但是当你绑定到一个本地数组时,一个简单的数组可以工作,但是如果你绑定到一个远程源,你需要给出一个这个结构的对象数组的结果:

{
    "id":"Tetrao tetrix",
    "label":"Black Grouse",
    "value":"Black Grouse"
}
请查看我从以下方面获得的结果:


因此,您的结果应该匹配该结构才能工作,因为我在中找不到任何与数据结构相关的内容。

您必须在数据源文件中使用JSON头

<?php
header('Content-Type: application/json');
$data = [
  "ActionScript",
  "AppleScript",
  "Asp",
  "BASIC"
];
echo json_encode($data);

你能试试ajax调用,看看它以那种方式返回什么吗?甚至可以将ajax结果保存到变量json_encode()来执行此操作吗?将我的阵列转换成那种结构?@whatch.idc当然不是。它将如何知道正确的结构。另外,您的数组只是一个简单的数组。你需要一组对象(类)。谢谢你提醒我使用控制台。问题是,我将sourcefile realative的路径指定给了js文件。这是错误的-我必须给它相对于html文件:/
<div id="ui-widget">
                    <label for="tags"></label>
                    <input id="tags" class="search_field" type="search" name="suche" maxlength="255">
</div>
{
    "id":"Tetrao tetrix",
    "label":"Black Grouse",
    "value":"Black Grouse"
}
<?php
header('Content-Type: application/json');
$data = [
  "ActionScript",
  "AppleScript",
  "Asp",
  "BASIC"
];
echo json_encode($data);
<html>
<head>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
</head>
<body>

  <input id="tags">

  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script type="text/javascript">
     $(function() {
        $( "#tags" ).autocomplete({
           source: 'json.php' 
        });
     });
  </script>

</body>
</html>