项目:遇到问题(不要说404、500,单词写错)
1、(前端问题)在做前端开发的时候,用es6写模块化代码,但是发现这个代码不能在node js 中运行,后来查资料得知需要
使用babel把es6代码转换为es5代码才能在node js 上运行
2、(前端问题)测试登录过程,跨域问题: No 'Access-Control-Allow-Origin,通过一个地址去访问另外一个地址,这个过程中
如果有三个地方不一样(访问协议 http||https、ip地址 192.168.1.1 || 172.11.11.11、端口号 9528(前端) || 8001(后端))就会报错
解决方式:(1)在后端接口controller添加注解(常用)(2)使用网关解决
3、(测试问题)在做完讲师管理模块的crud后,最终在页面测试功能时,点击修改功能,数据回显后再点击添加功能,表单页面还是
显示修改回显的数据。
解决方式:在做讲师添加的时候,把表单数据清空(this.teacher={})后仍不行
原因:多次路由跳转到同一个页面,在页面中created方法只会执行一次,后面在进行跳转不会执行
最终解决:vue监听
4、做二级联动效果,数据回显(修改)时,只有一级出现标题,二级出现的是课程id。
解决方法:
getInfo(){
course.getCourseInfoId(this.courseId)
.then(response => {
//在courseInfo有课程基本信息,包含一级分类id和二级分类id
this.courseInfo = response.data.courseInfoVo
// 1 查询所有的分类,包含一级分类和二级分类
subject.getSubjectList()
.then(response => {
//2 获取所有一级分类
this.subjectOneList = response.data.list
//3 把所有一级分类数组进行遍历
for (var i = 0; i < this.subjectOneList.length; i++) {
//获取每个一级分类
var oneSubject = this.subjectOneList[i]
//比较当前courseInfo里面一级分类id和所有的一级分类id
if(this.courseInfo.subjectParentId == oneSubject.id){
//获取一级分类所有的二级分类
this.subjectTwoList = oneSubject.children
}
}
})
//初始化所有讲师
this.getTeacherList()
})
},
5.常见mybatis异常(绑定异常)org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.chase.eduservice.mapper.EduCourseMapper.getPublishCourseInfo
错误原因无非两个:
①mapper中方法名字写错
(主要原因)②这个错误是maven默认加载机制造成的:maven加载时只把src-main-java文件夹里面.java类型文件进行编译,如果有其他类型的文件,比如.xml,则不会加载
解决方案:
1.复制xml到target目录中(手动)
2.把xml文件放到resource目录中(不推荐)
3.推荐使用:通过配置文件进行配置,让maven默认加载xml文件(自动)
①在pom.xml进行配置
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
②在application.properties中进行配置
#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/guli/edu/mapper/xml/*.xml
两个地方缺一不可
6.(nginx问题)413问题(请求体太大)
在使用页面上传功能时,将文件点击上传后界面无反应,后来使用谷歌开发者工具查看提示如下报错信息。
错误原因:是使用nginx代理的时候,有一个默认上传文件的大小1M,如果很大,还要适当调整上传超时时间。
解决方法:打开nginx的配置文件,在http中添加 client_max_body_size 1024m; 意思是设置请求最大位1024M