Nuestros desarrolladores estrellas agotaron sus depósitos de café, buscando noche y día por la respuesta, hasta que Valentina encontró el resultado en Beanstalk así que ahora la compartimos contigo.
Solución:
Sospecho que su jquery se carga después del resto del contenido de la página.
Esto significa que no puede hacer referencia a objetos jquery ya que la biblioteca aún no se ha inicializado.
Mueva el script de la página después de que se haya cargado jquery.
Para mayor eficiencia, le recomiendo que haga esto de una de dos maneras:
OPCIÓN 1
Use un archivo de script maestro que se cargue después de jquery.
OPCION 2
Use una plantilla de marcador de posición que siempre se cargará después de jquery pero que se puede inicializar en páginas individuales.
Página maestra de diseño
@RenderSection("Scripts", required: false)
Pagina de contenido
@section Scripts
PARA ACLARACIÓN
Si está haciendo referencia a jQuery en su _Layout
página.. Verifique dos veces para asegurarse de que esa referencia esté en el CIMA de tu _Layout
página porque si está en la parte inferior, entonces cada otra página que tenga que use el _Layout
y tiene jQuery, te dará errores como:
$ no está definido
¡porque está tratando de usar jQuery antes de que se defina!
Además, si está haciendo referencia a jQuery en su _Layout
página, entonces no necesita volver a hacer referencia a ella en sus páginas que usan su _Layout
estilo
Asegúrese de cargar la referencia a jQuery antes de comenzar a usar
.
Su cshtml debería funcionar si coloca la referencia sobre su secuencia de comandos de la siguiente manera:
// or whatever version you are using
// you do not need to use this reference if you are already referencing jQuery in your Layout page
Si creas un nuevo .Net Core 2.2
– Web Application with Razor Pages
e intente agregar un script jQuery en index.cshtml
obtendrá el error Uncaught ReferenceError: $ is not defined
. Como ya se mencionó, esto se debe a que jQuery se carga después del resto del contenido de la página.
Solucione esto navegando a PagesShared_Layout.cshtml
y agregue la sección de scripts al html head
etiqueta en su lugar. Entonces funcionará:
Ejemplo:
Mover desde abajo
:
@RenderSection("Scripts", required: false)
Dentro debería verse así:
@ViewData["Title"] - JiraApp.Clients.Web
@RenderSection("Scripts", required: false)
Finalizando este artículo puedes encontrar las explicaciones de otros desarrolladores, tú además puedes mostrar el tuyo si lo crees conveniente.