Select2 ajax不能在服务器上运行

时间:2017-07-13 12:22:40

标签: php ajax jquery-select2

在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);

这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

在ajax中,将类型设置为“ GET”

ajax: {
  url: 'php/search.php',
  type: 'GET',
  dataTy.......

这对我有用。