隨著對Web學(xué)習(xí)的逐漸深入,每周的作業(yè)量和代碼量都提升上來了,加上自己額外的興趣和探索學(xué)習(xí),遇到的各種bug也越來越多。這其中有些bug花費了我大量時間去調(diào)試和解決,但其實是由于學(xué)藝不精或者粗心大意造成的,這里將其列出:
-
switch語句中case的判斷:
case "GET" || "DELETE": // 錯誤寫法,這里會先進行||運算,結(jié)果相當(dāng)于case true
// 正確寫法:
case "GET":
case "DELETE":
在寫AJAX完成請求回調(diào)時,調(diào)試的時候發(fā)現(xiàn)所有的相應(yīng)都是正常的就是不執(zhí)行回調(diào)函數(shù),后來發(fā)現(xiàn)是將
request.onreadystatechange寫成了request.onstatechange,應(yīng)該是用IDE時偷懶輸入了on就按了回車;以后切記注意檢查輸入的代碼。部屬
anywhere服務(wù)器的時候嫌麻煩就手輸代碼,把18080端口寫成了18000端口,不仔細看還發(fā)現(xiàn)不了;調(diào)試了中止重啟時才發(fā)現(xiàn)這個問題。以后還是要養(yǎng)成寫腳本運行的習(xí)慣,不能總依賴手快現(xiàn)寫命令。判斷AJAX請求成功一直用的
request.status===200,但是使用json-server做mock server時,使用POST方法能寫入數(shù)據(jù)卻無法執(zhí)行更新頁面的回調(diào),總是要刷新頁面重新GET所有數(shù)據(jù)才行,后來調(diào)試發(fā)現(xiàn)原來POST成功返回的不是200而是201。這屬于基礎(chǔ)知識沒有掌握好,于是去補了一下HTTP狀態(tài)碼的相關(guān)知識。
總結(jié)了一下這周遇到的Bug,對于我來說相當(dāng)于錯題集一樣的東西吧;之后也會經(jīng)常繼續(xù)總結(jié),如果累積到一定程度說不定可以濃縮一下,能否幫助后來者也未可知呢?