我在客户端使用 beego 框架作为我的 API 框架和 AngularJS。我已正确设置所有 CORS 设置。我可以做 GET 请求。但是,当我尝试发布时,beego 对待是作为 OPTIONS 请求。它还会发出警告:multiple response.WriteHeader calls
. 什么可能是错的?
我的beego CORS设置:
func init() {
orm.RegisterDataBase("default", "mysql", "root:@tcp(127.0.0.1:3306)/fakeapi")
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
AllowOrigins: []string{"*"},
AllowMethods: []string{"GET", "DELETE", "PUT", "PATCH", "POST"},
AllowHeaders: []string{"Origin"},
ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,
}))
}
我的 AngularJS 请求
var transaction = $http.post(BASE_URL + "transaction", transactionData);
return $q.all([transaction]).then(function(response) {
console.log(response);
});
我的系统:Ubuntu 14.04 beego:1.4.2 bee:1.2.4 angularJS:1.3.12