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?
Trending in Questions
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
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
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
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
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
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
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
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
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
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
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
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex











Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
hlx
We use Corsica GitHub - whatyouhide/corsica: Elixir library for dealing with CORS requests. 🏖 · GitHub for this and I think you need it too
fun2src
Very useful package!. I’m going to try it.
Thank you so much!
jjabba
For anyone who wants a less involved solution I would suggest adding this to the create-react-app
package.jsoninstead: