简单的Ajax自动完成示例,无法使用PHP

时间:2017-04-17 13:42:09

标签: javascript php jquery ajax autocomplete

我在youtube上看到了一个完全按照我在这里尝试的视频。我无法让它发挥作用。这就是我正在使用的: https://www.devbridge.com/sourcery/components/jquery-autocomplete/

我已将所有文件直接放在项目文件夹下并尝试了这个:

<html>
<head>
<script src="jquery-3.2.1.js"></script>
<script src="jquery.autocomplete.min.js"></script>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<h1>Autocomplete Input</h1>
<input type="text" id="autocomplete"/>

<script>
$('#autocomplete').autocomplete({
    serviceUrl: '/search.php'
});
</script>
</body>
</html>

和search.php是

<?php
echo json_encode(
    array(
        'suggestions' => array(
            'United Arab Emirates',
            'United Kingdom',
            'United States'
        )
    )
);
?>

虽然很简单,但似乎无法奏效。如果有人可以看一下,我真的试图做这项工作。样式是正确的,功能不在哪里。我打字开始whit&#34; Un ..&#34;没有任何反应。

1 个答案:

答案 0 :(得分:1)

来自您关联的网页:https://www.devbridge.com/sourcery/components/jquery-autocomplete/#jquery-autocomplete-response-format

响应需要是JSON。如果您自己回复,则需要将其写为有效对象(请注意@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageButton btn = (ImageButton) findViewById(R.id.imageButton); ImageButton btn2 = (ImageButton) findViewById(R.id.imageButton2); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, NewSong.class); startActivity(intent); } }); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Do something... } }); } {):

}

最好是让PHP处理JSON格式:

echo '{ "suggestions": ["United Arab Emirates", "United Kingdom", "United States"] }';