您的位置:首页 > 理论基础 > 计算机网络

golang http服务器跨域问题解决

2016-04-12 13:45 393 查看
func main() {

openHttpListen()
}

func openHttpListen() {
http.HandleFunc("/", receiveClientRequest)
fmt.Println("go server start running...")

err := http.ListenAndServe(":9090", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}

func receiveClientRequest(w http.ResponseWriter, r *http.Request) {

w.Header().Set("Access-Control-Allow-Origin", "*")             //允许访问所有域
w.Header().Add("Access-Control-Allow-Headers", "Content-Type") //header的类型
w.Header().Set("content-type", "application/json")             //返回数据格式是json

r.ParseForm()
fmt.Println("收到客户端请求: ", r.Form)


测试下来,发现web端发送数据给go服务器是可以收到的,就在go服务器返回数据给client web端的时候,出现了跨域错误提示,给http.ResponseWriter.Header() 加这三行代码即可:

w.Header().Set("Access-Control-Allow-Origin", "*")             //允许访问所有域
w.Header().Add("Access-Control-Allow-Headers", "Content-Type") //header的类型
w.Header().Set("content-type", "application/json")             //返回数据格式是json
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: