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="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位置
至此,问题应该能解决了。
如有错误观点,欢迎指正。
网友说,”缺少对象“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位置
至此,问题应该能解决了。
如有错误观点,欢迎指正。
相关文章推荐
- 使用Uploadify 时,同时使用了jQuery.Validition 验证控件时,在IE11上出现JS缺少对象错误。
- jQuery中事件加载 DOM—@ready中调用其他方法,会提示缺少对象的错误
- JQuery在VS2008中智能提示和错误缺少对象
- Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:
- jquery在调试时出现缺少对象的错误
- 使用Uploadify 时,同时使用了jQuery.Validition 验证控件时,在IE11上出现JS缺少对象错误。
- IE下jquery 访问 XML 数据时发生 parsererror, TypeError: 缺少对象 错误的解决方案
- jQuery 缺少对象的错误!
- jQuery中事件加载 DOM—@ready中调用其他方法,会提示缺少对象的错误
- 引入JS文件IE6报语法错误或缺少对象问题的解决方法
- 引用Js的格式不规范导致的“缺少对象”的错误
- jquery.form.js 在IE下保存表单时报了个错: 缺少对象
- IE8+Win7下ajaxSubmit异常问题 提示缺少对象 jquery.min.js
- jQuery UI Datepicker length为空或不是对象错误的解决方法
- Jquery.ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
- js中json字符串转换为对象以及转换是报 缺少";"错误的解决方法
- jquery uploadify IE下使用刷新页面时出现"SCRIPT5007: 缺少对象"
- 关于JS中 缺少对象错误分析
- Microsoft JScript 运行时错误: 缺少对象