Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在beego框架上将POST请求视为选项_Javascript_Angularjs_Go_Beego - Fatal编程技术网

Javascript 在beego框架上将POST请求视为选项

Javascript 在beego框架上将POST请求视为选项,javascript,angularjs,go,beego,Javascript,Angularjs,Go,Beego,我在客户端使用beego框架作为API框架和AngularJS。 我已正确设置所有CORS设置。我可以得到你的请求。但是,当我尝试发布时,beego treat是作为选项请求的。它还抛出一个警告:multiple response.WriteHeader调用。可能有什么问题 我的beego CORS设置: func init() { orm.RegisterDataBase("default", "mysql", "root:@tcp(127.0.0.1:3306)/fakeapi")

我在客户端使用beego框架作为API框架和AngularJS。 我已正确设置所有CORS设置。我可以得到你的请求。但是,当我尝试发布时,beego treat是作为选项请求的。它还抛出一个警告:
multiple response.WriteHeader调用
。可能有什么问题

我的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 比戈:1.4.2 蜜蜂:1.2.4
angularJS:1.3.12

这可能是由于当前挂起的问题/拉取请求合并到主文件中:

没有这句话,一切都好:

这似乎与以下内容相符:

// Write status code if it has been set manually
// Set it to 0 afterwards to prevent "multiple response.WriteHeader calls"
(和
router.go
do设置一个状态,因此出现错误消息)

本应解决此问题,但尚未合并


另一个提到无法检索以前在会话引擎中注册的会话数据。
也许能帮上忙。

我就是这样处理的,希望能有帮助

import (
_ "info_apoyo/routers"

"github.com/astaxie/beego"
"github.com/astaxie/beego/plugins/cors"
)

func main() {
if beego.BConfig.RunMode == "dev" {
    beego.BConfig.WebConfig.DirectoryIndex = true
    beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
}
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
    AllowOrigins:     []string{"*"},
    AllowMethods:     []string{"GET", "POST", "DELETE", "PUT", "PATCH"},
    AllowHeaders:     []string{"Origin", "content-type", "Access-Control-
Allow-Origin"},
    ExposeHeaders:    []string{"Content-Length", "Access-Control-Allow-
Origin"},
    AllowCredentials: true,
}))
beego.Run()
}

谢谢你的回复。我已经删除了提交f962475中提到的那一行。但是错误仍然存在。@好的,我只找到了另一个涉及会话的错误实例(我已经编辑了答案)。但这更多的是一个线索,而不是一个明确的答案。这表明beego api存在错误,无法将cors.Allow(&(cors.Options literal))(beego.FilterFunc类型的值)用作beego.InsertFilter的参数中的web.FilterFunc值