php輸出json資料,導致前端js判斷錯誤的分析及解決
在前端渲染的時候出現錯誤,導致糾結了一天時間。最後還是在 就眠儀式 的幫助下排除了錯誤。
下面是錯誤原因及排除
-
在index.html中,原pear.config.json中關於預設樣式的程式碼如下
"theme": { "defaultColor": "2", "defaultMenu": "dark-theme", "allowCustom": true }, "colors": [{ "id": "1", "color": "#FF5722" }, { "id": "2", "color": "#5FB878" }, { "id": "3", "color": "#1E9FFF" }, { "id": "4", "color": "#FFB800" }, { "id": "5", "color": "darkgray" } ],
而我的PHP輸出程式碼是
$data['theme']['defaultColor']='2'; $data['theme']['defaultMenu']="dark-theme"; $data['theme']['allowCustom']=true; $data['colors'][0]=array('id'=>1,'color'=>"#FF5722"); $data['colors'][1]=array('id'=>2,'color'=>"#5FB878"); $data['colors'][2]=array('id'=>3,'color'=>"#1E9FFF"); $data['colors'][3]=array('id'=>4,'color'=>"#FFB800"); $data['colors'][4]=array('id'=>5,'color'=>"darkgray");
上面是原來輸出json的程式碼
二者對比如下:
經過 就眠儀式 的分析發現 colors 的差異(第28行開始),我輸出的json中colors元素中的id是數字(number),而原來json中colors元素中的id是字元(string)
在admin.js中364的getColorById(id)函式中,使用的是===,因為value.id和id型別不一樣,所以沒有符合條件的資料賦值給color,從而導致color變成 undefined
解決辦法:將php程式碼中的
$data['colors'][0]=array('id'=>1,'color'=>"#FF5722");
修改為
$data['colors'][0]=array('id'=>'1','color'=>"#FF5722");
(將id的值有數字改為字元)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992267/viewspace-2885306/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js判斷json中資料的真假JSON
- 前端基礎——js資料型別及判斷方法前端JS資料型別
- js資料型別及判斷JS資料型別
- 解決 PBootCMS 中因資料庫名稱錯誤導致的“執行 SQL 發生錯誤!錯誤:no such table: ay_config”問題boot資料庫SQL
- js資料型別的判斷JS資料型別
- 資料庫連線錯誤的原因及解決方法資料庫
- git合併丟失程式碼問題分析與解決(錯誤操作導致)Git
- eclipse: workspace出錯導致無法啟用的解決Eclipse
- js判斷資料型別JS資料型別
- 解決java socket在傳輸漢字時出現截斷導致亂碼的問題Java
- JSON.parse()出錯解決JSON
- ORA-04031錯誤導致當機案例分析
- 【北亞資料恢復】輸入錯誤命令導致MySQL資料庫資料被刪除的資料恢復案例資料恢復MySql資料庫
- JS · \r\n被轉義導致出錯JS
- go 協程操作map導致的資料競爭及解決方法Go
- PHP curl error 60 錯誤解決PHPError
- PHP初學者最常遇到的8個錯誤及解決方法PHP
- C++ 資料輸入cin (解決CLoin輸入中文程式出錯)C++
- 如何解決非同步介面請求快慢不均導致的資料錯誤問題? - DevUI非同步devUI
- 如何判斷DNS解析故障?如何解決DNS解析錯誤?DNS
- CAS導致的ABA問題及解決
- 動態建立 @ViewChild 導致執行時錯誤的原因分析View
- JS資料型別判斷的幾種方法JS資料型別
- Dedecms錯誤警告:連線資料庫失敗,出錯怎麼解決?資料庫
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- 輸出 JSON 資料時的 Content-TypeJSON
- smt加工這些失誤會導致smt加工出錯
- JS資料型別分類和判斷JS資料型別
- 小小邏輯判斷符的錯誤使用,資損幾萬塊
- JS的判斷語句:判斷、迴圈JS
- 儲存意外斷電導致raid資訊丟失的解決過程AI
- MySQL的index merge(索引合併)導致資料庫死鎖分析與解決方案MySqlIndex索引資料庫
- nginx出現403錯誤的解決方法Nginx
- 【python資料分析】判斷資料框是否為空Python
- Lombok 的@ToString導致的Maven編譯錯誤LombokMaven編譯
- PHP中的Malformed UTF-8 characters錯誤解決PHPORM
- 判斷js中的資料型別的幾種方法JS資料型別
- 伺服器出現 HTTP 錯誤程式碼,及解決方法伺服器HTTP