ajax之在 golang 中提供多个静态文件并发出 post 请求
wuhuacong
阅读:49
2025-06-02 22:19:02
评论:0
我两天前才开始使用 Golang,所以这可能非常简单,但对我来说仍然很难。
我的问题的第一步是在目录“/static”下提供多个文件,我已经知道该怎么做(
func main() {
fs := http.FileServer(http.Dir("./static"))
http.Handle("/", fs)
log.Println("Listening on :3000...")
err := http.ListenAndServe(":3000", nil)
if err != nil {
log.Fatal(err)
}
})
),但我也想发出 POST 请求(将信息保存到 MongoDB 数据库),这是困扰我的部分。有一个代码示例确实允许提供一个静态文件和一个 POST 请求,但我无法用我的能力进行修改。该示例可以在这里找到:https://www.golangprograms.com/example-to-handle-get-and-post-request-in-golang.html。 我可以以某种方式提供多个静态文件(最好在“static”目录下)吗?
请您参考如下方法:
编写一个处理程序,针对非 POST 请求调用 fs:
type handler struct {
next http.Handler
}
func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
h.next.ServeHTTP(w, r)
return
}
// write post code here
}
像这样使用处理程序:
func main() {
fs := http.FileServer(http.Dir("./static"))
http.Handle("/", handler{fs})
log.Println("Listening on :3000...")
err := http.ListenAndServe(":3000", nil)
if err != nil {
log.Fatal(err)
}
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



