当前位置: 首页 > news >正文

前端空白/红幕报错 undefined

下面是报错,同一情况下,不同的浏览器给出的各种错误:

◎typeerror is undefined

◎Windows. SessionStorage is undefined

◎Module is undefined ,axios...

◎_txc member is undefined 

这些其实都指向一个问题,某个数据是空的。

----------------

情况:我们知道前端可以去后端拿数据,也可以后端传过来后就在前端拿数据,我选择的是前端需要的数据就在前端页面上拿,但前端页面是空的,所以报错 为空异常。

相关代码:

-------------------------------
//  store/index.js

import { createStore } from 'vuex'

const MEMBER = "MEMBER";

export default createStore({
  state: {
    member: window.SessionStorage.get(MEMBER) || {}
  },
  getters: {
  },
  mutations: {
    setMember (state, _member) {
      state.member = _member;
      window.SessionStorage.set(MEMBER, _member);
    }
  },
  actions: {
  },
  modules: {
  }
})

// SessionStorage.js

SessionStorage = {
    get: function (key) {
        var v = sessionStorage.getItem(key);
        if (v && typeof(v) !== "undefined" && v !== "undefined") {
            return JSON.parse(v);
        }
    },
    set: function (key, data) {
        sessionStorage.setItem(key, JSON.stringify(data));
    },
    remove: function (key) {
        sessionStorage.removeItem(key);
    },
    clearAll: function () {
        sessionStorage.clear();
    }
};
----------------------------------------------------------------------------

//vue

  <a-select v-model:value="passenger.type">
          <a-select-option v-for="item in PASSENGER_TYPE_ARRAY" :key="item.code" :value="item.code">
            {{item.desc}}
          </a-select-option>

  setup() {
    const PASSENGER_TYPE_ARRAY = window.PASSENGER_TYPE_ARRAY;
        //省略
}

//enums.js

PASSENGER_TYPE_ARRAY=[{code:"1", desc:"成人"},{code:"2", desc:"儿童"},{code:"3", desc:"学生"}];

解决方法:

主要是两大块同时出现了问题  1. sessionStorage   2.PASSENGER_TYPE_ARRAY

注释掉前端用到这两个东西的地方,修改代码,运行,然后再把注释去掉,再运行。

1. sessionStorage 


store/index.js  先注释掉window.SessionStorage相关内容
运行后端和前端,然后再去掉注释,运行
---------------------------------------------------------------------

import { createStore } from 'vuex'

// const MEMBER = "MEMBER";

export default createStore({
  state: {
      member: {}
   // member: window.SessionStorage.get(MEMBER) || {}
  },
  getters: {
  },
  mutations: {
    setMember (state, _member) {
      state.member = _member;
     // window.SessionStorage.set(MEMBER, _member);
    }
  },
  actions: {
  },
  modules: {
  }
})

SessionStorage.js 全部注释掉
----------------------------
SessionStorage = {
    get: function (key) {
        var v = sessionStorage.getItem(key);
        if (v && typeof(v) !== "undefined" && v !== "undefined") {
            return JSON.parse(v);
        }
    },
    set: function (key, data) {
        sessionStorage.setItem(key, JSON.stringify(data));
    },
    remove: function (key) {
        sessionStorage.removeItem(key);
    },
    clearAll: function () {
        sessionStorage.clear();
    }
};

2.PASSENGER_TYPE_ARRAY

后端本来为key code,然后修改为code desc 导致缓存不一致,获取为空。
分两步,先不修改为code desc,运行;再修改,再运行
-------------------------------------------------------------
-》修改为这样:运行后,打开前端查看,再改回去运行,就可以了。
//vue

  <a-select v-model:value="passenger.type">
          <a-select-option v-for="item in PASSENGER_TYPE_ARRAY" :key="item.key" :value="item.key">
            {{item.code}}
          </a-select-option>

  setup() {
    const PASSENGER_TYPE_ARRAY = [{key:"1", code:"成人"},{key:"2", code:"儿童"},{key:"3", code:"学生"}];
        //省略
}

//enums.js

PASSENGER_TYPE_ARRAY=[{key:"1", code:"成人"},{key:"2", code:"儿童"},{key:"3", code:"学生"}];
---------------------------------------------------------------------
改回去:

//vue

  <a-select v-model:value="passenger.type">
          <a-select-option v-for="item in PASSENGER_TYPE_ARRAY" :key="item.code" :value="item.code">
            {{item.desc}}
          </a-select-option>

  setup() {
    const PASSENGER_TYPE_ARRAY = window.PASSENGER_TYPE_ARRAY;
        //省略
}

//enums.js

PASSENGER_TYPE_ARRAY=[{code:"1", desc:"成人"},{code:"2", desc:"儿童"},{code:"3", desc:"学生"}];

相关文章:

  • Tensorrt的安装、转化、以及推理
  • 李飞飞、吴佳俊团队新作:FlowMo如何以零卷积、零对抗损失实现ImageNet重构新巅峰
  • 虚拟机(二):Android 篇
  • 【春招笔试】阿里云2025.03.20
  • 用C#实现UDP服务器
  • 线程概念与控制(上)
  • 小智AI音频开发 libopus + Eclipse C/C++ MinGW 编解码测试用例
  • Leetcode 最小基因变化
  • 鸿蒙生态圈暗战:数字孪生三强争霸谁将主宰消费电子未来?
  • 【MySQL数据库】视图 + 三范式
  • Zabbix监控K8s集群
  • C语言do...while语句将数字反转后输出
  • Linux内核NIC网卡驱动实战案例分析
  • 【AI】先搞明白MCP、 API、ANP、Agora、agents.json、LMOS、AITP开源通信协议再学大模型
  • “十五五”时期航空弹药发展环境分析
  • 生物化学笔记:医学免疫学原理06 抗体药物 多克隆抗体+单克隆抗体(各代单克隆抗体发展历程)
  • Oracle Database In-Memory 23ai 新特性
  • LeetCode热题100JS(79/100)第十五天|347|295|121|55|45
  • ssh连接笔记
  • [AI问答] 保加利亚乳酸菌经过很多代可能会如何变异
  • 巴基斯坦称成功拦截印度导弹,空军所有资产安全
  • 河南省平顶山市副市长许红兵主动投案,接受审查调查
  • 乡村快递取件“跑腿费”屡禁不止?云南元江县公布举报电话
  • 咖啡戏剧节举办第五年,上生新所“无店不咖啡,空间皆可戏”
  • 上任后首访,德国总理与法国总统举行会晤
  • 三大交易所多举措支持科创债再扩容,约160亿证券公司科创债有望近期落地