2012-11-01 22 views
17

Próbuję użyć jQuery-File-Upload plugin. Ale mam problem, kiedy faktycznie próbuję wywołać funkcję. Gdzieś w moim kodzie, zadzwonię do $ (fubar) .fileupload i otrzymam Uncaught TypeError: Object #<Object> has no method '_on' jquery.fileupload.js:977. Teraz dzieje się to po stronie i wszystkie skrypty js zostały załadowane.Błąd przesyłania pliku JQuery: Uncaught TypeError: Object # <Object> nie ma metody '_on'

A) A similar error is discussed w tablicach narzędzi. Próbowałem techniki włączania jquery.fileupload.js tuż po załadowaniu dom. Próbowałem tej techniki z czymś poniżej.

<script src='/static/presentation/js/lib/jquery.fileupload.js'></script> 
    <script src='/static/presentation/js/lib/jquery.iframe-transport.js'></script> 
</body> 

Ale podczas ładowania strony, dostaję kolejny błąd Uncaught Error: Mismatched anonymous define() module: function ($) {....

B) Na documentReady próbowałem nawet dynamicznie generować i włączać znaczniki skryptów w głowie. Ale pojawia się ten sam błąd: Uncaught Error: Mismatched anonymous define() module: function ($) {....

Używam przesyłania plików jquery z requirejs. Podsumowując, przetestowałem bibliotekę i pracowałem z prostą statyczną stroną jane. Tylko podstawowe pliki biblioteki js. Więc nie wiem, co to powoduje. Ale nie wydaje się być związane z DOM.

Każda pomoc jest doceniana.

+0

Czy w pierwszej kolejności umieściłeś plik jQuery? –

+0

Tak (jasne pytanie). Obciążenie skryptu JQuery jest poza pluginem jquery-file-upload. – Nutritioustim

+0

Ok, właśnie to rozgryzłem. Zobacz poniżej ... – Nutritioustim

Odpowiedz

25

Ok, właśnie to rozgryzłem. Po prostu muszę dołączyć jquery.fileupload.js po jquery.ui.widget.js i jquery.iframe-transport.js. Przynajmniej wiem na przyszłość.

<script src='/static/presentation/js/lib/jquery.ui.widget.js'></script> 
<script src='/static/presentation/js/lib/jquery.iframe-transport.js'></script> 
<script src='/static/presentation/js/lib/jquery.fileupload.js'></script> 
+1

Piszę rozszerzenie na podstawie wtyczki jQuery File Upload dla frameworka Yii i miałem podobny błąd, ponieważ nie zawierałem 'jquery.ui.widget.js'. Chociaż na stronie demonstracyjnej wtyczki widać w komentarzach, że "Fabryka widgetów JQuery UI może zostać pominięta, jeśli jQuery UI jest już włączony". To nieprawda, przynajmniej dla interfejsu jQuery UI 1.8.22, który jest dostarczany z Yii 1.1.12. – Ezze

+0

Zastanawiam się, jak to było rozwiązaniem, ponieważ miałem ten sam problem, który naprawiłem tak samo jak ty, ale na ich stronie demo ich pliki JS są rozproszone wszędzie, a ich "upload" nie powoduje błędów. –

-1

Dzięki najnowszej wersji niebieskiej imp po prostu zmienić jquery.ui.widget.js z jQuery-UI-1.9.2.custom.min.js i to działa dobrze. Mam nadzieję, że ta pomoc ktoś utknął z tym.

0

Upewnij się, że korzystasz z komplementarnych wersji jQuery i jQuery UI oraz tylko jednej kopii jQuery. Zdałem sobie sprawę, że mam jQery-rails uruchomiony w 1.10 i lokalny plik jQuery 1.11, a usunięcie tego ostatniego i uaktualnienie pierwszego zrobił lewę.