Oto wszystkie możliwe problemy / rozwiązania, z którymi się spotkałem:
1. Pobierz wtyczkę cookie
$.cookie
nie jest standardową funkcją jQuery i wtyczkę należy pobrać tutaj . Pamiętaj, aby w <script>
razie potrzeby dołączyć odpowiedni tag (patrz dalej).
2. Dołącz jQuery przed wtyczką cookie
Włączając skrypt cookie, pamiętaj, aby najpierw dołączyć jQuery, a następnie wtyczkę cookie.
<script src="~/Scripts/jquery-2.0.3.js" type="text/javascript"></script>
<script src="~/Scripts/jquery_cookie.js" type="text/javascript"></script>
3. Nie dołączaj jQuery więcej niż raz
To był mój problem. Upewnij się, że nie dołączasz jQuery więcej niż raz. Jeśli tak, możliwe jest, że:
- jQuery ładuje się poprawnie.
- Wtyczka cookie ładuje się poprawnie.
- Twoje drugie włączenie jQuery nadpisuje pierwsze i niszczy wtyczkę cookie.
Każdy, kto korzysta z projektów ASP.Net MVC, powinien zachować ostrożność w przypadku domyślnych dołączeń pakietu JavaScript. Moje drugie włączenie jQuery miało miejsce na jednej z moich globalnych stron układu pod linią @Scripts.Render("~/bundles/jquery")
.
4. Zmień nazwę pliku wtyczki, aby nie zawierała pliku „.cookie”
W rzadkich przypadkach zmiana nazwy pliku na taką, która NIE zawiera „.cookie”, rozwiązała ten błąd, prawdopodobnie z powodu problemów z serwerem WWW. Domyślnie pobrany skrypt nosi nazwę „jquery.cookie.js”, ale spróbuj zmienić jego nazwę na taką jak „jquery_cookie.js”, jak pokazano powyżej. Więcej szczegółów na temat tego problemu znajduje się tutaj .