2012-02-13 18 views
10

Rails fix: asegúrese de que <%= javascript_include_tag "application" %> esté antes de cualquier carga de script para que jquery se cargue primero.cómo reparar el error 'jQuery no está definido' en la biblioteca jquery?

Esto parece realmente extraño. Cuando cargo mi página obtengo 2 errores js (en Chrome):

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

Ok, eso parece ... extraño. Entonces veo que mi script incluye. Mis dos primeros guiones incluyen en mi página:

<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> 

¿El primero es obtener un error de javascript relacionado a sí mismo? Eso parece poco probable. Esto parece un error de dirección errónea (el error real está en otro lugar). ¿Qué puedo hacer para arreglar esto? Los errores de JS en las páginas parecen un poco poco profesionales (al menos para otros desarrolladores). No recibí este error el otro día, incluso revertí el código para estar seguro.

+4

¿Dónde está la etiqueta script jQuery por sí mismo? –

+3

Debe incluir jQuery antes de usar jQuery UI. – Mihai

+2

'jQuery! == jQuery UI', también debe incluir el jQuery" base ". –

Respuesta

22

su

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

tiene que ser llamada antes de etiquetas jQuery UI < script>.

debería aparecer así:

<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

Cualquier persona que tenga este problema en Rails debe estar seguro y ver mi edición a la pregunta que tiene un arreglo específico de Rails. – jcollum

1

jQuery UI no incluye la biblioteca jQuery estándar de forma predeterminada. Tendrá que agregar una etiqueta <script> para incluir la biblioteca jQuery estándar antes de incluir cualquier complemento que la use.

Cuestiones relacionadas