2015-12-01 3 views
1

Я просмотрел все остальные вопросы 'length' of null, но они мне не помогли.typeahead.js: Uncaught TypeError: Не могу прочитать свойство 'length' of null

Я участвую в учебном пособии по внедрению autosuggest в форму с использованием typeahead.js, но он не работает. Хромированная консоль выдает:

Uncaught TypeError: Cannot read property 'length' of null 

Может ли кто-нибудь помочь мне и указать, где я ошибаюсь.

Вот соответствующий HTML:

<form action="index.php" method="get" autocomplete="off"> 
    <input type="text" name="user" id="users"> 
    <input type="submit" value="Go"> 
</form> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
<script src="js/typeahead.js"></script> 
<script src="js/global.js"></script> 

и соответствующие ЯШ:

$(document).ready(function() { 
    var users = new Bloodhound({ 
     datumTokenizer: Bloodhound.tokenizers.obj.whitespace('username'), 
     queryTokenizer: Bloodhound.tokenizers.whitespace, 
     remote: 'users.php?query=%QUERY' 
    }); 

users.initialize(); 

    $('#users').typeahead({ 
     hint: true, 
     highlight: true, 
     //minLength: 2   
    }, { 
     name: 'users', 
     displayKey: 'username', 
     source: users.ttAdapter() // what is ttAdapter() ? 
    }); 
}); 

"Uncaught TypeError" in Chromes Console

+0

где ошибка? – CoderPi

+0

@CodeiSir Отредактировано мое сообщение со снимком экрана Chromes Console – Lex

+0

Используйте веб-инспектор Chrome, чтобы узнать, что отправляется на сервер и с сервера. – user2182349

ответ

0

В учебнике комментарии на YouTube, кто-то указал на это:

Worked for me when i replaced:

remote: 'users.php?query=%QUERY'

with:

remote: { 
    url: 'users.php?query=%QUERY', 
    wildcard: '%QUERY' 
} 

Теперь она работает.

Смежные вопросы