前端项目里常见的十种报错及其解决办法

错误一:Uncaught TypeError: Cannot set property 'onclick' of null

at operate.js:86
5640239-8da730eecda200bf.png
图片.png

原因:
当js文件放在head里面时,如果绑定了onclick事件,就会出现这样的错误,是因为W3School的写法是浏览器先加载完按钮节点才执行的js,所以当浏览器自顶向下解析时,找不到onclick绑定的按钮节点,于是报错。因此,需要把js文件放在底部加载,就会避免该问题。

解决办法:用window.onload=function(){}包裹起来就不会出现这个错误了,因为浏览器要先加载节点才可以用onclick。

错误二:Uncaught TypeError: $(...).none is not a function

at HTMLLIElement.<anonymous> (operate.js:66)
at HTMLLIElement.dispatch (jquery.min.js:5)
at HTMLLIElement.y.handle (jquery.min.js:5)
5640239-ccd62412a7ab12a7.png
图片.png

Query 1.9 比之前的版本做了很大的调整,很多函数都不被支持
none()方法已经失效,需要改成以下方式

错误三:Failed to load resource: the server responded with a status of 500 (Internal Server Error)

5640239-4337bf587506af89.png
图片.png

只是注释了js里面隔行换色的代码,表格就加载不出来了,按f12键查看控制台network,按F5刷新如下


5640239-22c5d3d31db634ae.png
图片.png

对于这种莫名其妙,上一秒还能正常显示,这一秒就出现了错误的bug,我通常重启一下编辑器,重启一下浏览器,就正常了,不要问我为什么,我拿这种蜜汁bug也没有办法

错误四:最常见:Failed to load resource: the server responded with a status of 404 (Not Found)

5640239-fda76b853fc9149e.png
图片.png

文件没有被找到,说明文件引用的路径有问题,或文件损坏

错误五:tomcat启动报错处理:Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use

5640239-9111ec3f2a52e03d.png
图片.png

8080端口被占用
将配置文件里面被占用的端口名改掉:


5640239-10e2f2b8dc7f22dd.png
图片.png

做一个项目的时候 ,控制台总是会出现各种bug,其实不用慌张,终结起来也就几种类型的错误,在开发中每次遇到错误都善于总结,下次在看到就会胸有成竹知道是什么情况了,以下是在开发过程中总结的一些错误以及错误的解决方法。

报错六:Uncaught ReferenceError: $ is not defined

Uncaught ReferenceError: $ is not defined
Uncaught ReferenceError: jQuery is not defined
5640239-43b8a13d432fdbd0.png
图片.png

错误原因:文件加载的顺序不对,jQuery文件的顺序要在前面


5640239-dbe8289e152be550.png
图片.png

方法:把jQuery文件写在所有script文件前面


5640239-fdb284822b761d50.png
图片.png

报错七:jsp页面相对路径和绝对路径的问题:

正常路径:html里面的../../,改成jsp页面就找不到路径了,这个时候成了这个鬼样子

5640239-6ac45ffcd66ab8ed.png
图片.png

这时候,只需要在文件里面加入这段代码:


5640239-678de7cdb9c4cbcf.png
图片.png

解决办法:在<html>和<head>之间插入以下代码

<%
    String path = request.getRequestURI();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path;
%>
<base href="<%=basePath%>">

报错八:Uncaught TypeError: $(...).tooltip is not a function

Uncaught TypeError: $(...).tooltip is not a function
    at HTMLDocument.<anonymous> (app.js:42)
    at l (jquery.min.js:4)
    at Object.fireWith [as resolveWith] (jquery.min.js:4)
    at Function.ready (jquery.min.js:4)
    at HTMLDocument.S (jquery.min.js:4)
5640239-4e63bf55e8696ad9.png
图片.png

原因:包括两个不同版本的jQuery UI。这可能会导致冲突。尝试删除

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

解决办法:
编辑:

<script>
jQuery( document ).ready(function( $ ) {
   $('.hasTooltip').tooltip();
});
</script>

像这样使用它,解决了我的问题!

报错九:Uncaught TypeError: $(...).sortable is not a function

Uncaught TypeError: $(...).sortable is not a function
    at HTMLDocument.<anonymous> (dashboard.js:12)
    at l (VM552 jquery.min.js:4)
    at Object.fireWith [as resolveWith] (VM552 jquery.min.js:4)
    at Function.ready (VM552 jquery.min.js:4)
    at HTMLDocument.S (VM552 jquery.min.js:4)

报错十:bootstrap.min.js:7 Uncaught Error: Bootstrap requires jQuery

bootstrap.min.js:7 Uncaught Error: Bootstrap requires jQuery
    at bootstrap.min.js:7
5640239-a593213f12ed788b.png
图片.png

解决方案:解决方案:将jquery.min.js放在bootstrap.min.js文件之前引用,bootstrap.min.css文件在整两个文件前后引用都无妨(测试多次)。

posted @ 2018-01-30 17:53  祈澈姑娘  阅读(701)  评论(0编辑  收藏  举报