今天遇到跨域问题, 设置了如下配置:

	w.WriteHeader(http.StatusOK)w.Header().Set("Access-Control-Allow-Origin", "*")w.Header().Add("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")w.Header().Add("Access-Control-Allow-Credentials", "true")w.Header().Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")w.Header().Set("content-type", "application/json;charset=UTF-8")

但是检查repsonse header发现并没有设置这些header;

改成这样就好了:

	w.Header().Set("Access-Control-Allow-Origin", "*")w.Header().Add("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")w.Header().Add("Access-Control-Allow-Credentials", "true")w.Header().Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")w.Header().Set("content-type", "application/json;charset=UTF-8")w.WriteHeader(http.StatusOK)

先设置http header status就会导致后面的设置失效;