无法获取到输入的验证码信息
来源:3-5 前后端联调验证整体模块功能
Sunny_Winter
2019-08-26 09:48:27
shopoperation.js
$(function(){
// 用于店铺注册时候的店铺类别以及区域列表的初始化的URL
var initUrl = '/o2o/shopadmin/getshopinitinfo';
// 注册店铺的URL
var registerShopUrl = '/o2o/shopadmin/registershop';
// 取得所有二级店铺类别以及区域信息,并分别赋值进类别列表以及区域列表
getShopInitInfo();
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 = {};
shop.shopName = $('#shop-name').val();
shop.shopAddr = $('#shop-addr').val();
shop.phone = $('#shop-phone').val();
shop.shopDesc = $('#shop-desc').val();
// 选择选定好的店铺类别
shop.shopCategory = {
shopCategory: $('#shop-category').find('option').not(function () {
return !this.selected;
}).data('id')
};
// 选择选定好的区域信息
shop.area = {
area : $('#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() 消息提示框
$.toast('请输入验证码!');
return;
}
formData.append('verifyCodeActual', verifyCodeActual);
$.ajax({
url: registerShopUrl,
type: 'POST',
data: formData,
contentType: false,
processData: false,
cache: false,
success : function (data) {
if (data.success) {
$.toast('提交成功!');
} else {
$.toast('提交失败!' + data.errMsg);
}
$('#captcha_img').click();
}
});
});
}
})spring-web.xml

ShopManagementController.java

网页调试

然后进入后台

4回答
好帮手慕阿满
2019-08-26
同学你好,报错提示是未识别的字段shopCategory,和验证码没有关系,另外同学可以在CodeUtil类中,checkVerifyCode()方法中输出一下verifyCodeActual,查看是否获取到验证码并输出了。
另外问一下同学这里返回了true或者false。如果是true,表示验证码验证通过。
祝:学习愉快~
Sunny_Winter
提问者
2019-08-26

这个是直接执行下去的问题
Sunny_Winter
提问者
2019-08-26
我发现request当中都是null值

当继续执行的时候,进入CodeUtil中

我觉得应该是文件上传的问题,但是文件上传的内容已经在之前的提问中,部署好了。
请老师解惑。
好帮手慕阿满
2019-08-26
同学你好,已经获取到了验证码信息的,问一下同学再执行如下if判断时,是执行了if中的内容,将false赋值个success吗?

另外问一下同学的控制台是否有报错。
关于data is not defined的问题,data只在successs:function(data)函数中有效,现在已经执行到了82行,超出了function的范围,所以提示data is not defined是正常的。问一下同学debug执行时,是否执行了function中if(data.success)的代码。
祝:学习愉快~
相似问题