后台接收不到前台传入的值
注册页面过程中前台输入相应信息后点击提交按钮可以跳转到相应后台,但是后台接收不到前台传过来的值,想问下老师我到底是哪里的错误,下面是表单提交事件的代码:
var shopId = getQueryString("shopId");
var flag = shopId ? true : false;
var initUrl='/shopadmin/getshopinitinfo';
var registUrl='/shopadmin/registershop';
var modifyUrl = '/shopadmin/modifyshop';
// 表单提交事件
$('#submit').click(function () {
var code = $('#j_captcha').val();
if (!code) {
$.toast("请输入验证码");
return;
}
var shop={};
if (flag) {
shop.shopId = shopId;
}
//获取表单文本项数据
shop.shopName = $('#shop-name').val();
shop.shopDesc = $('#shop-desc').val();
shop.phone = $('#shop-phone').val();
shop.shopAddr = $('#shop-addr').val();
//获取下拉列表数据
shop.shopCategory = {
shopCategoryId: $('#shop-category').find('option').not(function () {
return !this.selected;
}).data('id')
};
console.log(shop.shopCategory.shopCategoryId);
shop.area = {
areaId: $('#area').find('option').not(function () {
return !this.selected;
}).data('id')
};
console.log(shop.area.areaId);
// 获取上传的图片文件流
var shopImg = $('#shop-image')[0].files[0];
// 生成表单对象,用于接收参数并传递给后台
var formData = new FormData();
// 添加图片流进表单对象里
formData.append('shopImg', shopImg);
// 将shop json对象转成字符流保存至表单对象key为shopStr的的键值对里
formData.append('shopStr', JSON.stringify(shop));
//存放验证码
formData.append('verifyCodeActual', code);
console.log(formData.get("shopStr"));
向后端传送数据,并获取后台传来的数据
$.ajax({
url: (flag ? modifyUrl : registUrl),
type:'POST',
data:formData,
contentType:false,
processData:false,
cache:false,
success:function (data) {
if (data.success) {
$.toast("表单提交成功!");
//无论注册或修改,提交成功后都返回店铺列表页面
window.location.href = '/shopadmin/shoplist';
} else {
$.toast("表单提交失败!" + data.errMsg);
}
}
});
});
下面是对应后台程序的一点代码:
@RequestMapping(value = "/registershop", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> registerShop(HttpServletRequest request) {
Map<String, Object> map = new HashMap<>();
String shopStr = HttpRequestServletUtil.getString(request, "shopStr");
System.out.println("商铺信息:"+shopStr);
前台输入信息后,界面的控制台可以输出相关的信息,但是后台输出的相关信息一直显示为null,文件上传的依赖也已经引入进来了
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星