其他分享
首页 > 其他分享> > Uncaught ReferenceError: $ is not defined

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