您的位置:首页 > Web前端 > JQuery

jquery 缺少对象 错误

2017-12-16 13:26 141 查看
最近这几天写前端jquery用IE调试老是出现“缺少对象”错误,终于找出来原因了。

网友说,”缺少对象“99%的原因是jquery引用路径访问不到。于是我就去看了我的jquery引用路径,果然问题就出在这里。

柯南说:真相只有一个。除去一切不可能情况之后剩下的,无论多么不合理,那就是真相。

众所周知

一、 js、html、图片等静态资源在springMVC里是不能被直接访问到的,因为被Dispatcherservlet拦截了。要想访问需要在spring-mvc.xml中配置。

二、 jsp是不被Dispatcherservlet拦截的,所以用户可以直接通过url访问到jsp文件,为了不让用户直接访问jsp,就把jsp放在WEB-INF下,因为web-inf下的文件不能被直接访问,只能通过controller访问。

说道这里,大部分jquery引用不到的原因也就清晰了

1 把jquery库放在了WEB-INF下

2 jquery库没有放在WEB-INF下,但是没有在spring-mvc.xml中为它所在的文件夹配置静态资源访问<mvc:resources mapping="/js/**" location="/js/" />

3 由于相对路径不熟悉,引用了错误的路径

这是错误的代码:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<!DOCTYPE html>
<html>
<head>
<script src="WEB-INF/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").toggle();
})
});
</script>
</head>
<body>
<button type="button">切换</button>
<p>这是一个段落。</p>
<p>这是另一个段落。</p>

</body>
</html>

这是错误的存放位置:



修改后的代码

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").toggle();
})
});
</script>
</head>
<body>
<button type="button">切换</button>
<p>这是一个段落。</p>
<p>这是另一个段落。</p>

</body>
</html>



修改后的jquery位置



至此,问题应该能解决了。

如有错误观点,欢迎指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dom javascript jquery 对象