Использование AJAX в Symfony - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь использовать функцию «typeahead» с Symfony.Но мой код AJax, похоже, не работает.Не могли бы вы, ребята, указать мне на ошибку? Я много раз искал в интернете, и на большинство вопросов, задаваемых по этому поводу, не было ответа.Пожалуйста, если кто-то может организовать их для работы в Symfony 2.8, это очень поможет многим людям. Спасибо

Код My Twig

<script>
$(document).ready(function(){
 
 $('#country').typeahead({
  source: function(query, result)
  {
   $.ajax({
    url:"{{path('fetch')}}",
    method:"POST",
    data:{query:query},
    dataType:"json",
    success:function(data)
    {
     result($.map(data, function(item){
      return item;
     }));
    }
   })
  }
 });
 
});
</script>
<input type="text" name="country" id="country" class="form-control input-lg" autocomplete="off" placeholder="Type Country Name" />

Мой контроллер

/**
 * @Route("/fetch", name="fetch")
 */
public function preAllAction(Request $request)
{

    //fetch.php
    $connect = mysqli_connect("localhost", "root", "root", "galleit");
    $request = mysqli_real_escape_string($connect, $_POST["query"]);
    $query = "SELECT * FROM products WHERE name LIKE '%".$request."%'";

    $result = mysqli_query($connect, $query);

    $data = array();

    if(mysqli_num_rows($result) > 0)
    {
        while($row = mysqli_fetch_assoc($result))
        {
            $data[] = $row["name"];
        }
        echo json_encode($data);
    }

}

1 Ответ

0 голосов
/ 21 ноября 2018

Вы уверены, что ваш контроллер Symfony возвращает ответ (любого типа)?Вам следует заменить echo json_encode($data) на return new JsonResponse($data)


Убедитесь, что класс JsonResponse загружен вашим контроллером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...