在localhost(XAMPP)服务器上使用Select2从数据库中获取数据时,它可以正常工作。但在将其部署到服务器后,它无法运行,并且控制台显示500内部服务器错误。
以下是我使用的代码:
$('#search-box').select2({
placeholder: 'Select an item',
ajax: {
url: 'php/search.php',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: data
};
},
cache: true
}
});
以及search.php中的PHP代码:
require_once("dbinfo.php");
// Opens a connection to a MySQL server
$connection=mysqli_connect ('localhost', $username, $password);
if (!$connection) { die('Not connected : ' . mysqli_error($connection));}
// Set the active MySQL database
$db_selected = mysqli_select_db($connection, $database);
if (!$db_selected) {
die ('Can\'t use db : ' . mysqli_error($connection));
}
$sql = "SELECT c_id, city_name FROM city
WHERE city_name LIKE '%".$_GET['q']."%'
LIMIT 10";
$result = $connection->query($sql);
$json = [];
while($row = $result->fetch_assoc()){
$json[] = ['id'=>$row['c_id'], 'text'=>$row['city_name']];
}
echo json_encode($json);
这里出了什么问题?
答案 0 :(得分:0)
在ajax中,将类型设置为“ GET”
ajax: {
url: 'php/search.php',
type: 'GET',
dataTy.......
这对我有用。