axios 不发送 POST 到 golang api
axios does not send POST to golang api
我有一个带有 negroni 中间件的 golang api 后端。
我已经为 negroni 实现了 CORS 处理程序,所以我的 api 应该允许跨源资源共享。
// allow OPTIONS method of CORS requests
c := cors.New(cors.Options{
AllowedOrigins: []string{"http://127.0.0.1"},
})
//common.StartUp() - Replaced with init method
// Get the mux router object
router := routers.InitRoutes()
// Create a negroni instance
n := negroni.Classic()
n.Use(c)
n.UseHandler(router)
server := &http.Server{
Addr: common.AppConfig.Server,
Handler: n,
}
log.Println("Listening...")
server.ListenAndServe()
这来自 https://github.com/rs/cors/blob/master/examples/negroni/server.go 使用 negroni 实施 CORS 的示例。
尽管如此,我的 api 现在会向我的前端响应 200 状态,但前端不会向服务器发送 POST 请求。这是我的 axios 代码:
import axios from 'axios';
const data = {
email: 'user@mail.com',
password: 'secret',
};
export default {
name: 'Login',
methods: {
login() {
axios.post('https://127.0.0.1:8090/users/login', data);
},
邮递员发送 POST 请求没有任何问题。我做错了什么?
好的,我找到了问题的解决方案:
如 this 文章所述,我向 cors negroni 插件添加了更多选项。我的应用程序中缺少的一个重要选项是行
AllowedHeaders: []string{"X-Auth-Key", "X-Auth-Secret", "Content-Type"},
因为我的应用程序发送了 Content-Type Header 而 api 拒绝了它。
希望这对遇到类似问题的其他人有所帮助。
我有一个带有 negroni 中间件的 golang api 后端。
我已经为 negroni 实现了 CORS 处理程序,所以我的 api 应该允许跨源资源共享。
// allow OPTIONS method of CORS requests
c := cors.New(cors.Options{
AllowedOrigins: []string{"http://127.0.0.1"},
})
//common.StartUp() - Replaced with init method
// Get the mux router object
router := routers.InitRoutes()
// Create a negroni instance
n := negroni.Classic()
n.Use(c)
n.UseHandler(router)
server := &http.Server{
Addr: common.AppConfig.Server,
Handler: n,
}
log.Println("Listening...")
server.ListenAndServe()
这来自 https://github.com/rs/cors/blob/master/examples/negroni/server.go 使用 negroni 实施 CORS 的示例。
尽管如此,我的 api 现在会向我的前端响应 200 状态,但前端不会向服务器发送 POST 请求。这是我的 axios 代码:
import axios from 'axios';
const data = {
email: 'user@mail.com',
password: 'secret',
};
export default {
name: 'Login',
methods: {
login() {
axios.post('https://127.0.0.1:8090/users/login', data);
},
好的,我找到了问题的解决方案:
如 this 文章所述,我向 cors negroni 插件添加了更多选项。我的应用程序中缺少的一个重要选项是行
AllowedHeaders: []string{"X-Auth-Key", "X-Auth-Secret", "Content-Type"},
因为我的应用程序发送了 Content-Type Header 而 api 拒绝了它。
希望这对遇到类似问题的其他人有所帮助。