前端框架是nuxt,后端springboot,整合微信支付,
在查询订单的时候,前端出现以下的错误
前端js代码如下
<script>
import orderApi from '@/api/order/order'
export default {
asyncData({isDev, route, store, env, params, query, req, res, redirect, error}) {
return orderApi.createNative(params.pId).then(Response=>{
return {
payObj:Response.data.data
}
})
},
data() {
return {
timer1: '',
}
},
mounted() {//在页面渲染之后执行
//定时器的方法
//每个三秒调用一次查询订单的方法
this.timer1 = setInterval(()=>{
this.QueryOrderStatus(this.payObj.out_trade_no)
},3000)
},
methods: {
QueryOrderStatus(orderNo){
orderApi.QueryNativeStatus(orderNo).then(Response=>{
if(Response.data.success){
console.log(Response.data.success)
//支付成功,清空定时器
clearInterval(this.timer1)
//提示支付成功
this.$message({ //点击确认
type: 'success',
message: '支付成功!'
});
//跳转回课程详情页面
this.$router.push({path: '/course/' + this.payObj.course_id})
}
})
}
},
}
</script>
大意是每隔3秒去后台查询一次数据,看是否支付完成
后端代码
/**
* 查询订单支付的状态
*/
@GetMapping("queryPayStatus/{orderNo}")
@ApiOperation(value = "查询订单支付的状态")
public Result queryPayStatus(@PathVariable String orderNo){
Map<String,String> map = payLogService.queryPayStatus(orderNo);
System.out.println("订单状态集合" + map);
if (map.get("trade_state").equals("SUCCESS")){//如果返回的集合不为空,侧可以获取订单状态
//添加记录到支付表中,并且修改订单状态
payLogService.updateOrdersStatus(map);
return Result.ok().message("支付成功");
}
if(map == null){
return Result.error().message("支付出错");
}
return Result.ok().code(25000).message("支付中");
}
注Result类是返回前端json的一个公共类,
问题如下,后台经过swagger和postman测试都可以返回数据
swagger
postman
然后就前端使用Response.data.success接收不到数据,但问题是微信扫码支付之后还可以正常显示支付成功,表中数据也修改了,..
前端调试了一下,但没有解决,,
求解决