我尝试使用php和jQuery进行自动完成。我正在使用本教程:https://daveismyname.blog/autocomplete-with-php-mysql-and-jquery-ui
我尝试了不同的解决方案,但无论我尝试什么,我都会遇到这两个错误。
[错误]无法加载资源:预检响应不成功(search.php,第0行) [错误] XMLHttpRequest无法加载文件:///Applications/MAMP/htdocs/autocomplete-master/search.php?term = a。飞行前响应不成功
我想这来自我对数据库的要求,但我真的不知道自己做错了什么。这是我的代码
<?php
define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_NAME', 'demo');
if (isset($_GET['term'])){
$return_arr = array();
try {
$conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT country FROM countries WHERE country LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
$return_arr[] = $row['country'];
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
}
?>
感谢您的帮助
答案 0 :(得分:0)
嗨,谢谢你的回答。 这是我的html文件和我的java代码,希望它是你所希望的。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Demo</title>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" type="text/css" />
</head>
<body>
<form action='' method='post'>
<p><label>Country:</label><input type='text' name='country' value='' class='auto'></p>
</form>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
//autocomplete
$(".auto").autocomplete({
source: "search.php",
minLength: 1
});
});
</script>
</body>
</html>
再次感谢您的帮助。 亚瑟。