使用若依框架时,后端向前端传递字符串出错的问题解决方法
在传递的参数为Object的时候,就会被当做data属性,在传递的参数为String属性时,就会被当成msg属性,此时data就会被当成null传递,所以导致传递参数失败。这说明后台也传了数据 ,那就叫是哪里除了问题,最后我找到了传参数的AjaxResult这个类,发现success这个方法有多个重载方法,这里要做区别的就是这两个。所以要传递String作为data时,要先将其转换成Object,
·
今天在使用若依框架时,发现后端的如下方法
/**
* 生成出租单号
*/
@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条内容
所有评论(0)