验证码提交错误

来源:4-13 前后端联调验证整体模块功能

qq_大寒_2

2019-06-13

图片描述
图片描述

图片描述
请问 verifCodeActual为什么是空的,没找到这个错呢

写回答

4回答

翔仔

2019-06-15

同学,你的spring-web.xml里得有这个

	<!-- 文件上传解析器 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="utf-8"></property>
		<!-- 1024 * 1024 * 20 = 20M -->
		<property name="maxUploadSize" value="20971520"></property>
		<property name="maxInMemorySize" value="20971520"></property>
	</bean>

修改完成后,clean tomcat然后试试,之后调试看到后端的时候,request里面有没有shopStr之类的

0
0

qq_大寒_2

提问者

2019-06-14

$(function() {
  // 从URL里获取shopId参数的值
  var shopId = getQueryString('shopId');
  // 由于店铺注册和编辑使用的是同一个页面,
  // 该标识符用来标明本次是添加还是编辑操作
  var isEdit = shopId ? true : false;
  // 用于店铺注册时候的店铺类别以及区域列表的初始化的URL
  var initUrl = '/o2o_war_exploded/shopadmin/getshopinitinfo';
  // 注册店铺的URL
  var registerShopUrl = '/o2o_war_exploded/shopadmin/registershop';
  // 编辑店铺前需要获取店铺信息,这里为获取当前店铺信息的URL
  var shopInfoUrl = "/o2o_war_exploded/shopadmin/getshopbyid?shopId=" + shopId;
  // 编辑店铺信息的URL
  var editShopUrl = '/o2o_war_exploded/shopadmin/modifyshop';
  // 判断是编辑操作还是注册操作
  if (!isEdit) {
     getShopInitInfo();
  } else {
     getShopInfo(shopId);
  }
  // 通过店铺Id获取店铺信息
  function getShopInfo(shopId) {
     $.getJSON(shopInfoUrl, function(data) {
        if (data.success) {
           // 若访问成功,则依据后台传递过来的店铺信息为表单元素赋值
           var shop = data.shop;
           $('#shop-name').val(shop.shopName);
           $('#shop-addr').val(shop.shopAddr);
           $('#shop-phone').val(shop.phone);
           $('#shop-desc').val(shop.shopDesc);
           // 给店铺类别选定原先的店铺类别值
           var shopCategory = '<option data-id="'
              + shop.shopCategory.shopCategoryId + '" selected>'
              + shop.shopCategory.shopCategoryName + '</option>';
           var tempAreaHtml = '';
           // 初始化区域列表
           data.areaList.map(function(item, index) {
              tempAreaHtml += '<option data-id="' + item.areaId + '">'
                 + item.areaName + '</option>';
           });
           $('#shop-category').html(shopCategory);
           // 不允许选择店铺类别
           $('#shop-category').attr('disabled', 'disabled');
           $('#area').html(tempAreaHtml);
           // 给店铺选定原先的所属的区域
           $("#area option[data-id='" + shop.area.areaId + "']").attr(
              "selected", "selected");
        }
     });
  }
  // 取得所有二级店铺类别以及区域信息,并分别赋值进类别列表以及区域列表
  function getShopInitInfo() {
     $.getJSON(initUrl, function(data) {
        if (data.success) {
           var tempHtml = '';
           var tempAreaHtml = '';
           data.shopCategoryList.map(function(item, index) {
              tempHtml += '<option data-id="' + item.shopCategoryId
                 + '">' + item.shopCategoryName + '</option>';
           });
           data.areaList.map(function(item, index) {
              tempAreaHtml += '<option data-id="' + item.areaId + '">'
                 + item.areaName + '</option>';
           });
           $('#shop-category').html(tempHtml);
           $('#area').html(tempAreaHtml);
        }
     });
  }
  // 提交按钮的事件响应,分别对店铺注册和编辑操作做不同响应
  $('#submit').click(function() {
     // 创建shop对象
     var shop = {};
     if (isEdit) {
        // 若属于编辑,则给shopId赋值
        shop.shopId = shopId;
     }
     // 获取表单里的数据并填充进对应的店铺属性中
     shop.shopName = $('#shop-name').val();
     shop.shopAddr = $('#shop-addr').val();
     shop.phone = $('#shop-phone').val();
     shop.shopDesc = $('#shop-desc').val();
     // 选择选定好的店铺类别
     shop.shopCategory = {
        shopCategoryId : $('#shop-category').find('option').not(function() {
           return !this.selected;
        }).data('id')
     };
     // 选择选定好的区域信息
     shop.area = {
        areaId : $('#area').find('option').not(function() {
           return !this.selected;
        }).data('id')
     };
     // 获取上传的图片文件流
     var shopImg = $('#shop-img')[0].files[0];
     // 生成表单对象,用于接收参数并传递给后台
     var formData = new FormData();
     // 添加图片流进表单对象里
     formData.append('shopImg', shopImg);
     // 将shop json对象转成字符流保存至表单对象key为shopStr的的键值对里
     formData.append('shopStr', JSON.stringify(shop));
     // 获取表单里输入的验证码
     var verifyCodeActual = $('#j_captcha').val();
     if (!verifyCodeActual) {
        $.toast('请输入验证码!');
        return;
     }
     formData.append('verifyCodeActual', verifyCodeActual);
     // 将数据提交至后台处理相关操作
     $.ajax({
        url : (isEdit ? editShopUrl : registerShopUrl),
        type : 'POST',
        data : formData,
        contentType : false,
        processData : false,
        cache : false,
        success : function(data) {
           if (data.success) {
              $.toast('提交成功!');
              if (!isEdit) {
                 // 若为注册操作,成功后返回店铺列表页
                 window.location.href = "/o2o_war_exploded/shopadmin/shoplist";
              }
           } else {
              $.toast('提交失败!' + data.errMsg);
           }
           // 点击验证码图片的时候,注册码会改变
           $('#captcha_img').click();
        }
     });
  });

})



0
0

qq_大寒_2

提问者

2019-06-14

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
   <!-- 配置SpringMVC -->
   <!-- 1.开启SpringMVC注解模式 -->
   <mvc:annotation-driven />
   <!-- 2.静态资源默认servlet配置 (1)加入对静态资源的处理:js,gif,png (2)允许使用"/"做整体映射 -->
   <mvc:resources mapping="/resources/**" location="/resources/" />
   <mvc:default-servlet-handler />
   <!-- 3.定义视图解析器 -->
   <bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/html/"></property>
      <property name="suffix" value=".html"></property>
   </bean>
   <!-- 4.扫描web相关的bean -->
   <context:component-scan base-package="com.imooc.o2o.web" />
   <!-- 5.权限拦截器 -->
      <!-- 校验是否已登录了店家管理系统的拦截器 -->
</beans>


0
0

翔仔

2019-06-14

同学好,看看你的前端是否传入verifyCodeActual,看看key有没有对应上,同时还需要对比下你的spring-web.xml以及pom.xml是否加了足够的配置,具体可以参考我的项目

链接: https://pan.baidu.com/s/1xwJ09GE-zoV7-2DRGt0z5g 提取码: vgmq 复制这段内容后打开百度网盘手机App,操作更方便哦

0
3
索隆爱娜美
回复
qq_大寒_2
我和你问题是一样的 你的解决了吗 我也卡在这里了
2019-09-19
共3条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程