Get in Touch With Us
Submitting the form below will ensure a prompt response from us.
The error CORS Error: No ‘Access-Control-Allow-Origin’ Header is Present on the Requested Resource error occurs when a frontend (browser) requests data from a different domain (Cross-Origin Request), but the server does not allow it.
✅ Solutions
Enable CORS on the Server
Modify the server’s response headers to allow cross-origin requests.
🔹 For Express.js (Node.js)
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors()); // Allow all origins
// Or allow specific origins
app.use(cors({ origin: 'https://yourfrontend.com' }));
app.get('/api/data', (req, res) => {
res.json({ message: "CORS enabled!" });
});
app.listen(3000, () => console.log('Server running on port 3000'));
🔹 For PHP
Add this at the top of the PHP file:
header("Access-Control-Allow-Origin: *"); // Allow all
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type");
🔹 For Nginx
Add to the server block in nginx.conf:
location /api/ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type';
}
🔹 For Apache
Add to .htaccess or httpd.conf:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type"
Handle Preflight Requests (OPTIONS Method)
If the request includes custom headers, PUT/DELETE methods, or credentials, browsers send a preflight request (OPTIONS) before the actual request. Ensure your server responds to it.
Example for Express.js
app.options('*', (req, res) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
res.header("Access-Control-Allow-Headers", "Content-Type");
res.sendStatus(200);
});
Use a Proxy (Temporary Fix)
If you can’t modify the server, use a proxy server or CORS bypass.
🔹 For React/Angular (Proxy Setup)
Add to package.json (for local development only):
"proxy": "https://yourbackend.com"
🔹 Using a CORS Proxy Service (Temporary Solution)
Instead of:
fetch('https://api.example.com/data')
Use:
fetch('https://cors-anywhere.herokuapp.com/https://api.example.com/data')
⚠️ Note: This is not recommended for production.
Check for Browser Extensions Blocking CORS
Sometimes, browser extensions (like ad blockers or privacy tools) can block CORS. Try disabling them or testing in incognito mode.
Summary
✔ Best Fix: Enable CORS headers on the server.
✔ Alternative: Use a proxy for development.
✔ Temporary Fix: Use CORS proxy services.
Get in Touch With Us
Submitting the form below will ensure a prompt response from us.