2012-02-13 12 views
10

Rails fix: assicurarsi che <%= javascript_include_tag "application" %> sia prima di qualsiasi script di caricamento in modo che jquery venga caricato per primo.come risolvere l'errore 'jQuery non è definito' nella libreria jquery?

Questo sembra davvero strano. Quando carico la mia pagina ho 2 js errori (in Chrome):

jquery-ui.min.js:17 Uncaught ReferenceError: jQuery is not defined 
jquery.blockUI.js:499 Uncaught ReferenceError: jQuery is not defined 

Ok, che sembra ... dispari. Quindi guardo il mio script include. I miei primi due script includono sulla mia pagina:

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 
    <script src="http://bainternet-js-cdn.googlecode.com/svn/trunk/js/jQuery%20BlockUI%20Plugin/2.39/jquery.blockUI.js"></script> 

Quindi il primo include è ottenere un errore javascript relativo a se stesso? Sembra improbabile. Sembra un caso di errore di indirizzamento errato (l'errore reale è da qualche altra parte). Cosa posso fare per risolvere questo problema? Gli errori JS sulle pagine sembrano un po 'poco professionali (almeno per altri sviluppatori). Non ho ricevuto questo errore l'altro giorno - ho persino ripristinato il codice per essere sicuro.

+4

Dov'è il tag script per jQuery stessa? –

+3

È necessario includere jQuery prima di utilizzare l'interfaccia utente di jQuery. – Mihai

+2

'jQuery! == Interfaccia utente jQuery', devi includere anche il jQuery" base ". –

risposta

22

tua

<script type="text/javascript" src="jquery.js"></script> 

deve essere chiamato prima di jQuery UI < di script> tag.

dovrebbe apparire così:

<script type="text/javascript" src="jquery.js"></script> <-- put me here --> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 
<script src="http://bainternet-js-cdn.googlecode.com/svn/trunk/js/jQuery%20BlockUI%20Plugin/2.39/jquery.blockUI.js"></script> 
+0

Chiunque abbia questo problema in Rails dovrebbe essere sicuro e vedere la mia modifica alla domanda che ha una correzione specifica di Rails. – jcollum

1

jQuery UI non include la libreria standard jQuery per impostazione predefinita. Dovrai aggiungere un tag <script> per includere la libreria jQuery standard prima di includere eventuali plug-in che lo utilizzano.

Problemi correlati