zoukankan      html  css  js  c++  java
  • 当后端返回的数据格式出问题时

    当后端返回的数据格式出问题时:

    本来res.data应该是个对象,然后某次出现了字符串

    JSON.parse转换还失败:

    一看对象的某个键的值为NaN(其实是数据的问题),导致返回值不是合法的json格式;

    然后就进行了粗鲁的处理:

     res=>{
                if(typeof res.data!=='string'){
                  if(res.data.code==='200'){
                    this.tableDataAll=res.data.result.concat()
                    this.tableData=this.tableDataAll.slice(0,this.pageSize)
                    this.total=this.tableDataAll.length
                    this.loading=false
                  }else{
                    this.loading=false
                    this.$message({
                      message:'数据加载失败!',
                      type:'error',
                      duration: 2000,
                    });
                  }
                }else {
                  let origStr=res.data
                  let replaceStr=origStr.replace(/NaN/g,"-")
                  // console.log('转码',replaceStr)
                  let trueDate =JSON.parse(replaceStr)
                  // console.log('trueDate',trueDate)
                  if(trueDate.code==='200'){
                    // this.total=res.data.result['total_num']
                    this.tableDataAll=trueDate.result.concat()
                    this.tableData=this.tableDataAll.slice(0,this.pageSize)
                    this.total=this.tableDataAll.length
                    this.loading=false
                  }else{
                    this.loading=false
                    this.$message({
                      message:'数据加载失败!',
                      type:'error',
                      duration: 2000,
                    });
                  }
                }

     精简一下:

           if(typeof res.data==='string'){
                  let replaceStr=res.data.replace(/NaN/g,"-")
                  // console.log('转码',replaceStr)
                  res.data =JSON.parse(replaceStr)
                }
                if(res.data.code==='200'){
                  this.tableDataAll=res.data.result.concat()
                  this.tableData=this.tableDataAll.slice(0,this.pageSize)
                  this.total=this.tableDataAll.length
                  this.loading=false
                }else{
                  this.loading=false
                  this.$message({
                    message:'数据加载失败!',
                    type:'error',
                    duration: 2000,
                  });
                }
    (*╹▽╹*)几何柒期的blog
  • 相关阅读:
    Boa移植到Android——ztg
    How to port lighttpd to Android
    android 4.4源码下载——百度云盘地址
    CentOS7——解压7z文件——p7zip
    android—mm—mmm—没有规则可以创建target/product/generic/obj/SHARED_LIBRARIES
    日常美食 小纪
    日常美食 小纪
    上海植物园
    上海之行(一)田子坊
    上海之行(一)田子坊
  • 原文地址:https://www.cnblogs.com/nuonuo-D/p/11424738.html
Copyright © 2011-2022 走看看