手機與電腦瀏覽器問題

手機與電腦瀏覽器問題

老師為什麼我做了一個使用者可以刪除消費紀錄的功能,可是在瀏覽器上可以正常運行操作成功

可是在手機上卻不能!顯示操作失敗呢?


這是controller層

@RequestMapping(value = "/deleteuserproductmap", method = RequestMethod.GET)

private String deleteUserProductMap(HttpServletRequest request, HttpServletResponse response) throws IOException {

// 获取用户登录信息

PersonInfo auth = (PersonInfo) request.getSession().getAttribute("user");

if (auth != null) {

Long userProductId=HttpServletRequestUtil.getLong(request, "userProductId");

if (userProductId != null) {

try {

// 添加消费记录

UserProductMapExecution se = userProductMapService.deleteUserProductMap(userProductId);

if (se.getState() == UserProductMapStateEnum.SUCCESS.getState()) {

return "shop/operationsuccess2";

}

} catch (RuntimeException e) {

return "shop/operationfail2";

}


}

}

return "shop/operationfail2";

}

SERVICE層

@Override

@Transactional

public UserProductMapExecution deleteUserProductMap(Long userProductId)

throws UserProductMapOperationException {

// 空值判断,主要确保顾客Id,店铺Id以及操作员Id非空

if (userProductId!=null) {

try {

// 添加消费记录

int effectedNum = userProductMapDao.deleteUserProductMap(userProductId);

if (effectedNum <= 0) {

throw new UserProductMapOperationException("刪除消費紀錄失敗");

}

return new UserProductMapExecution(UserProductMapStateEnum.SUCCESS, userProductId);

} catch (Exception e) {

throw new UserProductMapOperationException("添加授权失败:" + e.toString());

}

} else {

return new UserProductMapExecution(UserProductMapStateEnum.NULL_USERPRODUCT_INFO);

}

}

}


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

登陆购买课程后可参与讨论,去登陆

7回答
好帮手慕阿莹 2020-05-20 17:02:10

同学你好

关于注解失效:

1、是否开启了对注解的解析:

http://img1.sycdn.imooc.com//climg/5ec4f0b509dedfde10460698.jpg

2、如果同学在电脑端删除失败,是否可以回滚呢?

3、同学换个手机浏览器也是会报错的吗?

祝学习愉快

  • 提问者 齊帥 #1
    老師我都有加 沒錯換個手機或是導覽器都一樣!就是手機會出問題
    2020-05-20 17:23:09
  • 提问者 齊帥 #2
    而且這個錯誤又是什麼問題呢? throw new UserProductMapOperationException("添加授权失败:" + e.toString());這個的錯誤
    2020-05-20 17:24:27
提问者 齊帥 2020-05-20 10:37:25

而且老師我還有一個疑問!就是為什麼我已經在service層delete方法上頭加上了@Transactional了

而他用手機操作失敗時卻還是成功的把數據庫的資料刪除了呢?

  • 提问者 齊帥 #1
    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)加入了些代碼也無效阿....他還是會成功刪除數據庫資料
    2020-05-20 10:53:37
提问者 齊帥 2020-05-19 15:38:33

http://img1.sycdn.imooc.com//climg/5ec38ce009cafb6d12390643.jpg老師我發現是在這段的時候發生異常!可是為什麼只有手機會電腦瀏覽器不會呢.....

  • 提问者 齊帥 #1
    或著是老師我可以把我的專案整個傳給你嗎.....
    2020-05-19 15:45:55
  • 好帮手慕阿莹 回复 提问者 齊帥 #2
    同学你好,建议同学再自己测试一下,删除之前,输出一下userProductId,以及输出一下effectedNum。重启后用手机访问,对应数据库,看看控制台输出的userProductId 是否是你操作的那个呢?祝学习愉快
    2020-05-19 16:25:21
  • 提问者 齊帥 回复 好帮手慕阿莹 #3
    老師我都測試過了程式碼在電腦瀏覽器完全正常!可是到手機就會拋出RuntimeException 他effectedNum跟userProductId 完全都是對應的ID阿= =室友甚麼手機bug嗎......
    2020-05-19 17:59:06
好帮手慕阿莹 2020-05-19 14:08:09

同学你好

建议同学打一下断点:并且使用手机访问一下,看看这个effectedNum是否是返回的0呢

http://img1.sycdn.imooc.com//climg/5ec3777d09eed36908910240.jpg

如果是,建议再向里打断点调试一下看看是哪里数值不对呢。

祝学习 愉快

提问者 齊帥 2020-05-19 11:23:03
好帮手慕阿莹 2020-05-19 10:40:32

同学你好,

同学用浏览器的移动端模式试试呢?

http://img1.sycdn.imooc.com//climg/5ec3463209a87a6102330081.jpg

同学是把项目部署到服务上用手机访问的吗?

还是本地部署后,访问的局域网内的地址呢?

使用手机是其他操作都可以正常操作吗?

祝学习愉快



  • 提问者 齊帥 #1
    老師我是訪問本地部屬,手機其他功能都正常就這個地方不正常....... 電腦瀏覽器的移動端測試也是正常的阿....
    2020-05-19 11:22:35
好帮手慕阿莹 2020-05-18 19:34:05

同学你好,

同学说用手机失败是用手机的浏览器操作的吗?

同学的手机端删除时是否该用户还有消费记录呢?

祝学习愉快。


  • 提问者 齊帥 #1
    對沒錯!是用手機操作就會跳轉到操作失敗頁面,但是卻可以刪除成功
    2020-05-19 09:03:31
  • 提问者 齊帥 #2
    但是用電腦瀏覽器卻一切正常.......而且我已經debug過這一段是都可以正常運行的 se.getState()也是等於1所以是操作成功的.....不知道為什麼換到手機上卻失敗
    2020-05-19 09:16:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师