Как исправить "Ошибка Типа: b.toLowerCase не является функцией" typeahead.js? - PullRequest
0 голосов
/ 26 сентября 2019

Я работаю над автозаполнением поиска с помощью плагина typeahead.Я использовал Laravel 5.5, построитель запросов, ajax и jquery.Когда я набираю в поле фамилии, на экране ничего не происходит, и консоль возвращает эту ошибку:

TypeError: b.toLowerCase is not a function. 
    matcher http://127.0.0.1:8000/js/typeahead.js:1
    b http://127.0.0.1:8000/js/typeahead.js:1
    grep jQuery
    process http://127.0.0.1:8000/js/typeahead.js:1
    i jQuery
    success http://127.0.0.1:8000/referti:257

    jQuery 4
        c
        fireWith
        l
        o

Это реализованный код:

  1. Заголовок:

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    
    <link rel="stylesheet" type="text/css" href="{{URL::asset('css/stilelogin_antonio.css')}}">
    <link rel="stylesheet" type="text/css" href="{{URL::asset('css/style.css')}}">
    
    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <script src="{{URL::asset('js/typeahead.js')}}" ></script>
    
  2. Форма:

    <div class="form-container">
                    <div class="form-group">
                        <label for="cognome">Cognome:</label>
                        <input class="typeahead form-control" type="text" id="cognome" autocomplete="off" placeholder="Cognome"/>
                    </div>
    
  3. Сценарий:

    $(document).ready(function () { 
    
      _token = $('meta[name="csrf-token"]').attr('content');
      $('#cognome').typeahead({
        source: function (query, result) {
            console.log('-->', query);
            $.ajax({
                url: "/referti/searchBySurname",
                method: "post",
                data: {query: query, _token: _token },            
                dataType: "json",
                success: function (data) {
                    //console.log(data);
                    result($.map(data, function (item) {
                        return item;
                    })); 
                 }
              });
            }
        });
    });
    
  4. Контроллер:

    class RefertiController extends Controller{
    
       public function searchBySurname(Request $request){ 
       $data = $request->get('query');
    
       Log::info('-->' . $data); 
       $reports = DB::table('PATIENT')
           ->where('LAST_NAME', 'LIKE', "%$data%")
           ->get();
       Log::info($reports);
       return json_encode($reports);
       }
    }
    
  5. Это часть того, что.файл журнала выдает, правильно:

    [2019-09-26 13:54:57] local.INFO:                                                                  
    
    [{"PATIENT_KEY":"19234283CDGIULIANI ","LAST_NAME":"GIULIANI","FIRST_NAME":"ADELE","BIRTHDATE":"1923-04-28","SEX":"F","ETHNICITY":null,"REF_PHYSICIAN":null,"PAT_COMMENT":"ister-ann bil","MENOPAUSE_YEAR":-1},
    
    {"PATIENT_KEY":"19261214BEGIULIANAT","LAST_NAME":"GIULIANATI","FIRST_NAME":"SENICE","BIRTHDATE":"1926-01-20","SEX":"F","ETHNICITY":"W","REF_PHYSICIAN":null,"PAT_COMMENT":"postmenopausa spontanea","MENOPAUSE_YEAR":-1},...
    

Что я могу сделать, чтобы решить проблему?Где я не прав?Спасибо, кто ответит!

...