URL的参数问题
来源:6-4 店铺信息编辑之前端实现
SayCheese
2021-03-01
老师你好,之前的那个问题,不知道为什么我看不到您的回答了,抱歉让你重新回答一遍。原问题如下:视频里,网址后面如果是 shopoperation?shopId=1 ,那么就会显示店铺 id 为1的店铺信息,请问这是怎么实现的。我看后端Service层和Controller层代码没有响应这种形式的 RequesMapping 鸭。 谢谢老师了!
写回答
2回答
-
同学好,知道的,我现在贴链接的话需要过审,我大致说一下。主要是我们在js里面,会根据url链接的?,去获取相关的参数,这里问号后面是shopId 就会获取到shopId=1 然后js里面会判断如果能获取到shopId,就是认为是编辑原有商铺,此时就会给后端发送查询这个shopId为1的店铺信息请求,然后获取到店铺信息展示出来 同学可以看看js里面,就是这个方式,视频里也说了哈
012021-03-02 -
翔仔
2021-03-03
同学好,我把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"); } }); }
112021-03-03
相似问题