在线教育项目中遇到的问题

项目:遇到问题(不要说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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值