在Phoenix/Elixir中启用跨源资源共享CORS

Ole*_*ann 8 elixir cors angularjs phoenix-framework

我的前端是一个单独的Brunch.io AngularJS应用程序.由于我的前端在http:// localhost:3333上运行,而我的凤凰后端在http:// localhost:4000上运行,因此在尝试POST到http:// localhost:4000/api/users/register时出现此错误

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3333' is therefore not allowed access. The response had HTTP status code 404.
Run Code Online (Sandbox Code Playgroud)

所以我认为这是一个CORS问题.如何在凤凰中发送标题?

这是我的router.ex

  scope "/api", MyApp do
    pipe_through :api
    # Users
    post "/users/register", UserController, :register
  end
Run Code Online (Sandbox Code Playgroud)

这是我的UserController

defmodule MyApp.UserController do
  use MyApp.Web, :controller

  def register(conn, params) do
    IO.puts(inspect(params))

    conn
    |> put_status(201)
    |> json  %{ok: true, data: params}
  end

end
Run Code Online (Sandbox Code Playgroud)

Chr*_*ord 7

你有几个选项可以为你连接起来:https://hex.pm/packages?search = cors & sort = downloads