fun2src

fun2src

Hi all,

I’m getting this error when connecting to the backend:

Access to fetch at 'http://localhost:4000/api' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Absinthe backend (router.ex):

defmodule ErlnoteWeb.Router do
  use ErlnoteWeb, :router

  pipeline :browser do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :protect_from_forgery
    plug :put_secure_browser_headers
  end

  pipeline :api do
    plug :accepts, ["json"]
    plug ErlnoteWeb.Context
  end

  scope "/" do
    pipe_through :api

    forward "/api", Absinthe.Plug, schema: ErlnoteWeb.Schema
    forward "/graphiql", Absinthe.Plug.GraphiQL, schema: ErlnoteWeb.Schema, socket: ErlnoteWeb.UserSocket
  end
end

create-react-app: index.js:

const backendHTTPApiLink = createHttpLink({
  uri: "http://localhost:4000/api"
});
const apolloCache = new InMemoryCache();
const loginClient = new ApolloClient({
  link: backendHTTPApiLink,
  cache: apolloCache
});

loginClient.mutate({
  variables: { },
  mutation: gql`
    mutation {
      login(email: "asm@example.com", password: "altosecreto") {
        token
      }
    }`,
})
.then(result => { console.log(result) })
.catch(error => { console.log(error) });

create-react-app: /src/package.json:

{
  "name": "erlnote-frontend",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@absinthe/socket-apollo-link": "^0.2.1",
    "apollo-cache-inmemory": "^1.6.2",
    "apollo-client": "^2.6.3",
    "apollo-link": "^1.2.12",
    "apollo-link-http": "^1.5.15",
    "bootstrap": "^4.3.1",
    "graphql": "^14.3.1",
    "graphql-tag": "^2.10.1",
    "jquery": "^3.4.1",
    "phoenix": "^1.4.8",
    "popper.js": "^1.15.0",
    "react": "^16.8.6",
    "react-apollo": "^2.5.6",
    "react-bootstrap": "^1.0.0-beta.9",
    "react-dom": "^16.8.6",
    "react-redux": "^7.1.0",
    "react-router-dom": "^5.0.1",
    "react-scripts": "3.0.1",
    "redux": "^4.0.1",
    "typescript": "^3.5.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  **"proxy": "http://localhost:3000"**
}

Frontend (React dev-server: locahost:3000).
Backend(Phoenix & Absinthe dev-server: localhost:4000/api).

Is there any way to solve?

Showing Posts 1 to 3

fun2src

fun2src OP

Very useful package!. I’m going to try it. :smile:

Thank you so much!

jjabba

jjabba

For anyone who wants a less involved solution I would suggest adding this to the create-react-app package.json instead:

  "proxy": "http://localhost:4000/",
— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews