go 前端跨域处理

 : jank    :   : 2369    : 2017-02-24 18:44  go

Go跨域,首先引入一个跨域文件,最好放在根目录下,如crossdomain.go

文件内容:

package main
var (
corspolicy = []byte(`<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM
 "/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy><site-control 
 permitted-cross-domain-policies="master-only"/><allow-access-from domain="*" 
 to-ports="*" /></cross-domain-policy>`)
)


main文件:

package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
func GetRoom(w http.ResponseWriter, r *http.Request) {
w.Header().Set("content-type", "application/json")
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")
if data, err := ioutil.ReadAll(r.Body); err != nil {
log.Printf("ioutil.ReadAll():%s", err)
} else {
fmt.Printf("data:%s", data)
}
return
}
func main() {
http.HandleFunc("/getroom", GetRoom)
http.HandleFunc("/crossdomain.xml", func(w http.ResponseWriter, r *http.Request) { w.Write(corspolicy) })
err := http.ListenAndServe(":9090", nil)
if err != nil {
log.Fatal("listen", err)
}
}


   

备案编号:赣ICP备15011386号

联系方式:qq:1150662577    邮箱:1150662577@qq.com