采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,之前的那个问题,不知道为什么我看不到您的回答了,抱歉让你重新回答一遍。原问题如下:视频里,网址后面如果是 shopoperation?shopId=1 ,那么就会显示店铺 id 为1的店铺信息,请问这是怎么实现的。我看后端Service层和Controller层代码没有响应这种形式的 RequesMapping 鸭。 谢谢老师了!
同学好,知道的,我现在贴链接的话需要过审,我大致说一下。主要是我们在js里面,会根据url链接的?,去获取相关的参数,这里问号后面是shopId 就会获取到shopId=1 然后js里面会判断如果能获取到shopId,就是认为是编辑原有商铺,此时就会给后端发送查询这个shopId为1的店铺信息请求,然后获取到店铺信息展示出来 同学可以看看js里面,就是这个方式,视频里也说了哈
老师,后半部分有点没弄懂,“此时就会给后端发送查询这个shopId为1的店铺信息请求,然后获取到店铺信息展示出来”,这句话,按照我的理解是 js 中,$.getJSON()方法会给后端发送请求,但是,没能看出这个方法是怎么查询数据库的并获取对应d额 id 信息。
同学好,我把js的思路大致描述一下,中间省略很多代码,其实视频也说得清晰了,也可以看看视频
首先
// 从URL里获取shopId参数的值 var shopId = getQueryString('shopId');
这里会从url获取到shopId,
然后
// 由于店铺注册和编辑使用的是同一个页面, // 该标识符用来标明本次是添加还是编辑操作 var isEdit = shopId ? true : false;
这里isEdit会是true,证明是编辑,而不是添加,那么编辑的第一步就是要先获取原先店铺的信息
// 编辑店铺前需要获取店铺信息,这里为获取当前店铺信息的URL var shopInfoUrl = "/o2o/shopadmin/getshopbyid?shopId=" + 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"); } }); }
懂了,谢谢老师。是我之前没搞懂,而且忘了 Controller 层对参数的处理方式。
登录后可查看更多问答,登录/注册
SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需
2.0k 47
1.9k 41
2.5k 40
1.8k 39
1.5k 37