1.ajax报Uncaught TypeError:Illegal invocation
报错信息截图如下:
导致这个错误的原因有两个:
1.请求类型有误,比如post请求,但在后台设置的是get请求
2.参数有误。 最大可能是参数不对应或者没有传参
经过排查,发现我的参数没有获取到值...希望以后不要踩这个坑...
2.关于ajax发送请求无法重定向
1.原因:ajax 是默认就是不支持重定向的,它是局部刷新,不重新加载页面。
2.解决办法:我的解决办法比较简单,nodejs项目直接在前端重定向。但这样暴露了逻辑跳转,不好。但不知道怎么解决,留给以后遇到怎么解决再填坑吧。
$.ajax('login', data, function(data) {
if (data === 'success') {
window.location.href="跳转路由";
} else {
alert('账号或密码错误');
}
});
3.npm的坑,报错信息:checkPermissions Missing write access to ...
网上很多人说是没有权限,但win7下应该没有这个问题。
也有人说把 C:\Users\admin\AppData\Roaming\npm-cache和C:\Users\admin\AppData\Roaming\npm这两个文件夹删掉,可以试一试,我删了之后就没报错了。但注意:删掉C:\Users\admin\AppData\Roaming\npm这个文件夹后,你全局安装的东西都没了,比如cnpm,vue等,要重新安装。
这个坑是我用npm安装mongodb安装不上(npm i mongodb --save-dev),也是报这个错误(我已经全局安装过mongodb,不知道是不是这个原因)。然后我一狠心就用了cnpm安装mongodb,没想到安装上了!但别开心太早,一运行,给我报各种modules没有安装上...(不知道是不是cnpm安装也有坑的问题)。然后我就想卸掉mongodb重新装,但uninstall不好用,报错。我...就把package-json文件和node_modules文件夹删了,然后把上面说的两个文件夹删掉,再用npm安装就安装好了。
个人猜测,可能是全局安装和局部安装冲突引起这个错误信息吧,但小白...没办法验证,留给以后填坑。
4.npm的--save和--save-dev
--save-dev
安装的时候会在package.json
文件中的devDependencies
属性添加模块,这个属性就是开发时依赖的包--save
安装的时候会在package.json
文件中的dependencies
属性添加模块,这个属性就是发布时依赖的包
举个例子
如果你想把ES6编译成ES5,就用到了babel,那么 就是devDependencies
,发布的时候不需要再用babel了,因为打包后就是已经编译出来的ES5代码。
如果用了VUE,由于发布之后还是依赖VUE,正式上线,投入使用的时候还是要用到VUE,所以是dependencies
。