我剛剛玩了一個(gè) google GO 官方示例編寫(xiě) Web 應(yīng)用程序,我嘗試添加刪除頁(yè)面的功能,但沒(méi)有奏效。原因是,如果你"/delete/"作為參數(shù)傳遞給http.HandleFunc()函數(shù),你總是會(huì)得到 404 Page not found。任何其他"foobar"字符串都按預(yù)期工作。簡(jiǎn)化代碼:package mainimport ( "fmt" "net/http")func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "%s", r.URL.Path)}func main() { http.HandleFunc("/hello/", handler) //http.HandleFunc("/delete/", handler) http.ListenAndServe(":8080", nil)}重現(xiàn)步驟:http://localhost:8080/hello/world從瀏覽器編譯和調(diào)用輸出是 /hello/world現(xiàn)在評(píng)論http.HandleFunc("/hello/", handler)和取消評(píng)論http.HandleFunc("/delete/", handler)http://localhost:8080/delete/world從瀏覽器編譯和調(diào)用結(jié)果是404 page not found,預(yù)期/delete/world問(wèn):"/delete/"模式 有什么特殊含義嗎?是否有任何技術(shù)原因或只是一個(gè)錯(cuò)誤?
1 回答

翻翻過(guò)去那場(chǎng)雪
TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
這在這里工作得很好,它不可能在一種情況下工作,而不是在另一種情況下。您只是更改兩行之間的字符串"hello"
的字符串"delete"
。
我建議更仔細(xì)地再試一次。它必須是其他地方的細(xì)節(jié)。
真正的原因是沒(méi)有檢查ListenAndServe
. 一個(gè)舊的副本在后臺(tái)運(yùn)行,并且缺乏錯(cuò)誤處理使它不被察覺(jué)。瀏覽器正在從舊服務(wù)器獲取結(jié)果。
- 1 回答
- 0 關(guān)注
- 193 瀏覽
添加回答
舉報(bào)
0/150
提交
取消