Dandelion_rain 2020-08-25 19:05 采纳率: 0%
浏览 1753
已结题

前后端分离项目,前台接收不到后台的数据

前端框架是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接收不到数据,但问题是微信扫码支付之后还可以正常显示支付成功,表中数据也修改了,..

前端调试了一下,但没有解决,,
图片说明

求解决

  • 写回答

2条回答 默认 最新

  • 关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月16日

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形