5

I have frontend and backend on different servers. I need make crossdomain request.

On localhost:4200 i use angular2. On localhost:3000 i use json-server. Еhe server should give the header:

Access-Control-Allow-Origin: *

But I do not know how to turn it on.

2
  • If it's just for local development, the simplest solution would be a chrome extension (Assuming you're using chrome) like this: chrome.google.com/webstore/detail/moesif-origin-cors-change/… This lets you define cors without changing your client or server code. Commented Dec 17, 2017 at 16:18
  • The docs you linked to say CORS is enabled by default Commented Dec 17, 2017 at 16:19

1 Answer 1

4

try adding this in your server.js file, this code precisely will make your server cors enabled and then you will be able to send correct response. Mind about your variable names, and port number rest everything should be identical,

var express = require('express'),
   app = express(),
   port = process.env.PORT || 8080;

app.listen(port);
app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    res.setHeader('Access-Control-Allow-Credentials', true);
    next();
});
Sign up to request clarification or add additional context in comments.

2 Comments

Is the server.js file supposed to contain other code? How does this server.js file actually get accessed? I don't understand how to get this to work.
yes it can contain other codes as well. Such as middleware or express or other framework. You can check for the basic express based project and see how that come along

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.