2017-11-15 19 views
1

私は、negroniミドルウェアでgolang apiバックエンドを持っています。axiosはgolang apiにPOSTを送信しません

私はすでに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() 

これはネグローニとCORSを実装するhttps://github.com/rs/cors/blob/master/examples/negroni/server.go一例です。

私のapiは現在200のステータスを自分のフロントエンドに返しますが、フロントエンドはPOSTリクエストをサーバーに送信しません。この私のaxiosコード:

import axios from 'axios'; 
const data = { 
email: '[email protected]', 
password: 'secret', 
}; 

export default { 
name: 'Login', 
methods: { 
login() { 
    axios.post('https://127.0.0.1:8090/users/login', data); 
}, 

enter image description here ポストマンは、POSTリクエストを送信しても問題はありません。私は間違って何をしていますか?私は問題の解決策た

+0

typo? 'AllowedOrigins:[] string {" http://172.0.0.1 "}'おそらく127.0.0.1 – biosckon

+0

127.0.0.1でサイトにアクセスしていますが、起点を172.0.0.1に設定しています。 – Adrian

+0

ああ、私の間違い...私はそれを変更しましたが、まだ動作していません。 –

答えて

1

オーケー:this記事で説明したように

を、私はCORSネグローニプラグインにいくつかのより多くのオプションを追加しました。私のアプリは、コンテンツタイプヘッダとAPIはそれを拒否した送信されますので、私のアプリケーションで行方不明になった一つの重要なオプションは、ライン

AllowedHeaders: []string{"X-Auth-Key", "X-Auth-Secret", "Content-Type"}, 

ました。

これは、同様の問題を持つ他の人に役立つことを願っています。

関連する問題