使用若依框架时,后端向前端传递字符串出错的问题解决方法

今天在使用若依框架时,发现后端的如下方法

    /**
     * 生成出租单号
     */
    @PostMapping("/getRentSn")
    public AjaxResult getRentSn(){
        String rentSn = busRentService.getRentSn();
        return AjaxResult.success(rentSn);
    }

在前前端取出其中的数据时,怎么都取不出其中的单号数据

    // 请求后台生成出租单号
      getRentSn().then(AjaxResult => {
        var sn = AjaxResult.data
        alert(sn)
        this.form.rentSn = AjaxResult.data
      })

弹出框一直显示没有接受到该参数

 以下为前端的接口方法

// 生成出租单号
export function getRentSn() {
  return request({
    url: '/business/rent/getRentSn',
    method: 'post',
  })
}

确定了接口没有错误之后,在后台加上断点,显示单号生成成功

这说明后台也传了数据 ,那就叫是哪里除了问题,最后我找到了传参数的AjaxResult这个类,发现success这个方法有多个重载方法,这里要做区别的就是这两个

在传递的参数为Object的时候,就会被当做data属性,在传递的参数为String属性时,就会被当成msg属性,此时data就会被当成null传递,所以导致传递参数失败

所以要传递String作为data时,要先将其转换成Object,才能传递成功

    /**
     * 生成出租单号
     */
    @PostMapping("/getRentSn")
    public AjaxResult getRentSn(){
        // 不能直接将字符串传递给AjaxResult.success()这个对象,会被识别成另一个方法
        Object rentSn = busRentService.getRentSn();
        return AjaxResult.success(rentSn);
    }

 

修改为Object之后,参数传递成功 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱纸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值