最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

后端報TypeError:Cannot?read?properties?of?null?(reading?‘xxx‘)的錯誤解決

 更新時間:2023年05月24日 09:46:38   作者:互聯(lián)網(wǎng)全棧開發(fā)實戰(zhàn)  
這篇文章主要給大家介紹了關(guān)于后端報TypeError:Cannot?read?properties?of?null?(reading?‘xxx‘)錯誤的解決辦法,這個錯誤是開發(fā)中常見的錯誤之一,需要的朋友可以參考下

1. 文章目錄

今天測試小姐姐,在測試某頁面時,報出如下圖的錯誤:

TypeError: Cannot read properties of null (reading 'type')

at w (http://...xxx.../assets/index.a9f96e7f.js:1052:191280)
at x (http://...xxx.../assets/index.a9f96e7f.js:952:39438)
at b (http://...xxx.../assets/index.a9f96e7f.js:952:36266)
at I (http://...xxx.../assets/index.a9f96e7f.js:986:59452)
at div
at div
at div
at div
at S (http://...xxx.../assets/index.a9f96e7f.js:1071:9994)
at x (http://...xxx.../assets/index.a9f96e7f.js:952:39438)
at b (http://...xxx.../assets/index.a9f96e7f.js:952:36266)
at I (http://...xxx.../assets/index.a9f96e7f.js:986:59452)
at w (http://...xxx.../assets/index.a9f96e7f.js:986:51920)
at r (http://...xxx.../assets/index.a9f96e7f.js:1052:16143)
at b (http://...xxx.../assets/index.a9f96e7f.js:967:8581)
at x (http://...xxx.../assets/index.a9f96e7f.js:967:10843)
at w (http://...xxx.../assets/index.a9f96e7f.js:986:66365)
at b (http://...xxx.../assets/index.a9f96e7f.js:952:36266)
at div

TypeError: Cannot read properties of null (reading 'type')

2. 分析問題

正趕上最近ChatGPT比較火,可以借助它幫助我分析問題,如下圖所示:

ChatGPT無法回答我的問題,我只能自己分析此錯誤了。

TypeError: Cannot read properties of null (reading 'type')翻譯成中文,即類型錯誤:無法讀取 null 的屬性(讀取“類型”)

也就是說,json存在null值的對象。

因為,前端使用amis框架,后端需生成amis格式的json對象。

前端拿到amis格式的json對象后,在amis框架中渲染即可。

由于null對象的出現(xiàn),導(dǎo)致amis無法解析對應(yīng)的屬性。

于是,去定位出前端null對象的位置,如下圖所示:

實際上,headerToolbar的格式如下:

"headerToolbar": [
  {
      "actionType": "dialog",
      "dialog": {
          "body": {
              "api": {
                  "method": "post",
                  "url": "http://xxx/common/2023030905235058401/enterprise/100/add"
              },
              "body": [
                  {
                      "name": "orgname2",
                      "id": "u:20230309052540720",
                      "label": "所在社區(qū)",
                      "type": "input-text"
                  },
                  ......
                  {
                      "name": "ifdanger",
                      "id": "u:20230309052540725",
                      "label": "是否為?;髽I(yè)",
                      "type": "input-text"
                  }
              ],
              "type": "form"
          },
          "title": "新增"
      },
      "level": "primary",
      "id": "u:20230309052540213",
      "label": "新增",
      "type": "button"
  },
  "bulkActions"
]

如上代碼所示,正常情況下,headerToolbar存在type屬性。正因為上述部分代碼值為null,導(dǎo)致amis無法解析到type屬性,即報出TypeError: Cannot read properties of null (reading 'type')錯誤。

接著,再去定位到后端生成null對象的代碼位置,如下圖所示:

因而,需要修改后端代碼。

3. 解決錯誤

根據(jù)以上分析后得知,由于后端生成的null對象的值,導(dǎo)致amis無法解釋后端生成的對象,即可進行如下修改:

...
if (isNull(addButton)) {
  curdJsonVm = replace(curdJsonVm, "${headerToolbars},", "");
  log.info("model page info:{}", JSONUtil.toJsonPrettyStr(curdJsonVm));
  return curdJsonVm;
}
curdJsonVm = replace(curdJsonVm, "${headerToolbars}", JSONObject.toJSONString(addButton));
...

重新啟動服務(wù),即可正常訪問,無報錯信息:

4. 問題總結(jié)

如果類似TypeError: Cannot read properties of null (reading ‘xxx‘)不是后端造成的,一般是你的json對象存在null對象。

本來你正常的json對象,存在某個屬性,框架能夠解析該屬性。

但出現(xiàn)了null對象后,導(dǎo)致前端框架無法解析null對象的屬性。

總結(jié)

到此這篇關(guān)于后端報TypeError:Cannot read properties of null (reading ‘xxx‘)的錯誤解決的文章就介紹到這了,更多相關(guān)TypeError:Cannot read properties of null內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中實現(xiàn)雙數(shù)組Trie樹實例

    Java中實現(xiàn)雙數(shù)組Trie樹實例

    這篇文章主要介紹了Java中實現(xiàn)雙數(shù)組Trie樹實例,雙數(shù)組Trie就是一種優(yōu)化了空間的Trie樹,本文給出了實現(xiàn)代碼、測試代碼和測試結(jié)果,需要的朋友可以參考下
    2015-01-01
  • Spring?Boot如何利用攔截器加緩存完成接口防刷操作

    Spring?Boot如何利用攔截器加緩存完成接口防刷操作

    流的需求出現(xiàn)在許多常見的場景中,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot如何利用攔截器加緩存完成接口防刷操作的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • 詳解IntelliJ IDEA多窗口項目管理技巧

    詳解IntelliJ IDEA多窗口項目管理技巧

    IntelliJ IDEA默認每次打開項目都會新建窗口,可通過設(shè)置強制單窗口多項目切換或默認多開項目,下面就來介紹一下IntelliJ IDEA多窗口項目管理技巧,感興趣的可以了解一下
    2025-09-09
  • Springboot采用jasypt加密配置的項目實踐

    Springboot采用jasypt加密配置的項目實踐

    本文主要介紹了在Spring Boot項目中使用Jasypt對配置文件中的敏感信息進行加密,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Java 線程同步詳解

    Java 線程同步詳解

    這篇文章主要給大家詳細介紹的是Java 線程同步的相關(guān)問題及代碼示例,有需要的小伙伴可以參考下
    2016-03-03
  • 淺談Java開發(fā)架構(gòu)之領(lǐng)域驅(qū)動設(shè)計DDD落地

    淺談Java開發(fā)架構(gòu)之領(lǐng)域驅(qū)動設(shè)計DDD落地

    DDD(Domain-Driven Design 領(lǐng)域驅(qū)動設(shè)計)是由Eric Evans最先提出,目的是對軟件所涉及到的領(lǐng)域進行建模,以應(yīng)對系統(tǒng)規(guī)模過大時引起的軟件復(fù)雜性的問題
    2021-06-06
  • SpringMVC文件上傳請求問題分析

    SpringMVC文件上傳請求問題分析

    這篇文章主要介紹了SpringMVC文件上傳請求,我們發(fā)的請求默認都是由DispatcherServlet類的doDispatch()來處理,這個方法的邏輯處理的第一步就是處理文件上傳的請求,我們一起來看看是怎么處理的吧
    2024-07-07
  • Java中大量數(shù)據(jù)Excel導(dǎo)入導(dǎo)出的完整實現(xiàn)過程

    Java中大量數(shù)據(jù)Excel導(dǎo)入導(dǎo)出的完整實現(xiàn)過程

    Java實現(xiàn)Excel導(dǎo)入導(dǎo)出是Java開發(fā)中常見的任務(wù),主要用于數(shù)據(jù)的批量處理和分析,尤其在數(shù)據(jù)分析、報表生成和數(shù)據(jù)備份等方面具有廣泛應(yīng)用,這篇文章主要介紹了Java中大量數(shù)據(jù)Excel導(dǎo)入導(dǎo)出的完整實現(xiàn)過程,需要的朋友可以參考下
    2026-02-02
  • Java中抽象類和接口介紹

    Java中抽象類和接口介紹

    大家好,本篇文章主要講的是Java中抽象類和接口介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 如何在32位Windows系統(tǒng)下安裝Java

    如何在32位Windows系統(tǒng)下安裝Java

    這篇文章主要介紹了如何在32位Windows系統(tǒng)下安裝Java,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論

华亭县| 教育| 内丘县| 九江县| 保山市| 冀州市| 玉溪市| 潜山县| 抚松县| 绥化市| 盐池县| 招远市| 钟山县| 宁蒗| 通化县| 皋兰县| 左云县| 武胜县| 炉霍县| 克山县| 申扎县| 胶州市| 岱山县| 瓦房店市| 灵山县| 金堂县| 彭泽县| 鲜城| 榕江县| 宝丰县| 哈巴河县| 恭城| 凉城县| 漠河县| 绥德县| 济阳县| 封丘县| 泌阳县| 宣恩县| 明溪县| 阳泉市|