今天的事件發生在後台網頁
是微軟的cshtml
單純新增js的方法
卻導致整個畫面死掉
第一次有程式退步的感覺

這次的需求很簡單
在原本的js新增一個方法
然後在cshtml呼叫即可

根據開放封閉原則
新增不可能壞東西吧
萬萬沒想到
打開F5進入偵錯模式
程式馬上報錯
我差點從椅子上面跌下來

首先懷疑js被瀏覽器快取
我的改動沒有被更新
但是打開瀏覽器的F12
程式碼的確有新增
再仔細看一下錯誤訊息
竟然是404,另外一隻API 找不到

真的是見鬼了
我新增A,跟我說B找不到

馬上打開git看一下commit的紀錄
的確只有新增,沒有刪除
怎麼想都不應該造成原本的功能壞掉

於是我先把新的commit做revert
再次打開F5,還是壞的
真的是三觀毀壞

打開測試環境的後台看一下
網站還是好好的
令我傻在原地

404的報錯
不可能是資料庫連線的問題
但同樣的程式碼
local不行,stage卻可以
會是什麼原因
難道是因為網址不同?

再仔細看一下cshtml內
那道API是透過ajax呼叫
路徑是使用相對路徑
再看一下我的網址
對比測試環境
多了一個/index

這下才恍然大悟
猶記得C#的MVC
預設就是走index
所以 / 和 /index 會是同樣的畫面

但是因為多了一層/index
導致API呼叫的相對路徑就會抓錯
把/index刪掉
在local端就可以正常debug了
果然,最基礎的還是最重要

下回預告

簡單的表格和搜尋
在iPhone上面竟然沒用
2023的jQuery
是否還能再跨瀏覽器?

下一回
iOS 網頁失靈事件