go - 为什么 fmt.Fprint 没有在页面上生成 html 输出?

标签 go

这是我的代码,fmt.Fprint 在页面上输出源代码而不是生成 html 输出。我做错了什么?

package main

import (
    "fmt"
    "net/http"
)

const AddForm = `
<form method=="POST" action="/add">
URL: <input type="text" name="url">
<input type="submit" value=“Add”>
</form>
`

func main() {
    http.HandleFunc("/add", Add)
    http.ListenAndServe(":8099", nil)
}


func Add(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, AddForm)
}

最佳答案

添加内容类型和 <body>标签似乎解决了问题

package main

import (
    "fmt"
    "net/http"
)

const AddForm = `
<body>
<form method="POST" action="/add">
URL: <input type="text" name="url">
<input type="submit" value=“Add”>
</form>
</body>
`

func main() {
    http.HandleFunc("/add", Add)
    http.ListenAndServe(":8099", nil)
}

func Add(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, AddForm)
    w.Header().Add("Content-Type", "text/html")
}

关于go - 为什么 fmt.Fprint 没有在页面上生成 html 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911214/

相关文章:

转到错误 : unexpected Nul in input

Go例程从一个URL下载到一个文件

docker - Golang dep 不下载所有库文件

c# - 标准 xml 解析器在 Golang 中的性能非常低

go - 如何全局定义结构并重用它的包

arrays - 为什么 slice 变量在一遍又一遍地分配时不会被覆盖?

pointers - 为什么 Win32 API 系统调用中使用的缓冲区会转换为 [1<<20]<type> 数组?

http - [go]自定义服务器处理特定路径的请求

go - 尝试扫描到 Go 中的 int64 指针时出错

go - 为什么golang类型实现sort.Interface时方法接收者不需要是指针?