Uncaught ReferenceError: $ is not defined
作者:互联网
问题:
Uncaught ReferenceError: $ is not defined
问题原因:
页面加载时找不到jQuery 或者页面加载时jQuery被拦截了!!
如果是页面加载时找不到jQuery,原因可以定向到未引入jQuery或引入的顺序错误,被拦截是因为配置SpringMVC的前端控制器(前端控制器又叫核心控制器或中央控制器)时servlet映射范围包括了jQuery的所在文件夹(servlet映射范围包括了静态资源)
我当时配置的SpringMVC前端控制器↓
<!--配置springmvc的前端/核心/中央控制器-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name><!--3.根据servlet的servlet-name找对应的servlet-class-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param><!--servlet在找自己的配置文件时默认去webapp-WEB-INF下找dispatcherServlet-servlet.xml,该标签指明配置文件的位置和名字-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup><!--表示容器创建时机,1表示服务器一启动就会创建,不写的话什么时候用什么时候创建,数约下优先级越高,条件是不为负-->
</servlet>
<servlet-mapping><!--servlet映射-->
<servlet-name>dispatcherServlet</servlet-name><!--2.根据servlet-name去找对应的servlet-->
<url-pattern>/</url-pattern><!--1.根据路径找对应的servlet-name-->
</servlet-mapping>
jQuery所在位置
解决方法:放过静态资源
方法一:
在springmvc.xml中写入:
<!--检测请求的内容是否为静态资源,是就放过,否就交给servlet-->
<mvc:default-servlet-handler ></mvc:default-servlet-handler>
方法二:
指定要放行的文件路径
<mvc:resources mapping="/js/**" location="/js/"></mvc:resources>
我的理论知识少,表达上会不太专业,欢迎指正
标签:jQuery,控制器,defined,前端,Uncaught,页面,servlet,ReferenceError,加载 来源: https://blog.csdn.net/lifeisworship/article/details/122407784