请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

http://localhost:8080/o2o/shopadmin/shopoperation?shopId=4 老师好

http://localhost:8080/o2o/shopadmin/shopoperation?shopId=4     老师好  请问我加上后面的?shopId=4后再点击提交按钮就没反应了是为什么呢?换了三个浏览器清空缓存都不行,不加shopId点击提交按钮就可以,加了之后点击提交按钮,alert都出不来,麻烦老师了

正在回答 回答被采纳积分+3

插入代码

2回答

翔仔 2018-08-10 17:20:04

shopoperation.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/**
 
 */
$(function() {
    // 从URL里获取shopId参数的值
    var shopId = getQueryString('shopId');
    // 由于店铺注册和编辑使用的是同一个页面,
    // 该标识符用来标明本次是添加还是编辑操作
    var isEdit = shopId ? true false;
    // 用于店铺注册时候的店铺类别以及区域列表的初始化的URL
    var initUrl = '/o2o/shopadmin/getshopinitinfo';
    // 注册店铺的URL
    var registerShopUrl = '/o2o/shopadmin/registershop';
    // 编辑店铺前需要获取店铺信息,这里为获取当前店铺信息的URL
    var shopInfoUrl = "/o2o/shopadmin/getshopbyid?shopId=" + shopId;
    // 编辑店铺信息的URL
    var editShopUrl = '/o2o/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/shopadmin/shoplist";
                    }
                else {
                    $.toast('提交失败!' + data.errMsg);
                }
                // 点击验证码图片的时候,注册码会改变
                $('#captcha_img').click();
            }
        });
    });
 
})


0 回复 有任何疑惑可以回复我~
翔仔 2018-08-10 16:56:20

同学好,没太明白同学的意思,我理解应该是在shopmanagement这个页面里面的按钮里添加上相应的href即可跳转,如视频里的

1
2
$('#shopInfo')
                    .attr('href''/o2o/shopadmin/shopoperation?shopId=' + shopId);

shopId就是同学说的4.

然后同学也可以打开chrome的开发者工具,点击没反应的话看看console里面有没有错误,有什么错误再修复

0 回复 有任何疑惑可以回复我~
  • 提问者 qmla #1
    老师  是修改店铺信息的那一部分      修改店铺信息的页面能正常显示出来    可是点击  提交   按钮    下面这个click点击事件没反应    alert都出不来的   
    但是换成不带shopId的地址链接click就有反应   
    
    http://localhost:8080/o2o/shopadmin/shopoperation   
     chrome里面的console没有任何显示和反应
    
    
    $('#submit').click(function(){
    			alert();
    			var shop={};
    			if (isEdit) {
    				// 若属于编辑,则给shopId赋值
    				shop.shopId = shopId;
    			}
    回复 有任何疑惑可以回复我~ 2018-08-10 17:12:24
  • 翔仔 回复 提问者 qmla #2
    同学可以在在前端你click function里设置断点,然后调试到后端,后端对应controller方法里设置下断点 如果还是没反应的话,检查下controller里面对应方法的@responsebody还有相关路径有没有设置正确。如果不行的话应该是js往后台post这段参数写得有问题,具体可以对比下我这边的代码:)
    回复 有任何疑惑可以回复我~ 2018-08-10 17:19:31
  • 提问者 qmla 回复 翔仔 #3
    嗯嗯,已经解决了,谢谢老师
    回复 有任何疑惑可以回复我~ 2018-08-10 19:54:32
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号