Techi11 Posted August 16, 2023 Share Posted August 16, 2023 I'm working on a web development project where I'm using the Fetch API to make cross-origin requests to a different domain. However, I'm running into CORS (Cross-Origin Resource Sharing) issues, and my requests are being blocked. I've tried a few solutions I found online, but I'm still having trouble. Here's a simplified version of my code: fetch('https://api.example.com/data') .then(response => response.json()) .then(data => { console.log(data); }) .catch(error => { console.error('Error fetching data:', error); }); I've heard about using CORS headers on the server-side to allow cross-origin requests, but I'm not sure how to implement them. Can someone guide me on the proper way to handle CORS issues? How do I configure my server to allow requests from my domain? I'm using Express.js on the server side. Any help would be greatly appreciated! Quote Link to comment Share on other sites More sharing options...
mattstyles Posted September 7, 2023 Share Posted September 7, 2023 https://expressjs.com/en/resources/middleware/cors.html Cors is a core function for express that plugs in to its middleware system. In your case, if your client is hosted on a site different from your API then you add the client url origin to the options (either globally for your API app, or per route) and bingo you're in business. https://expressjs.com/en/resources/middleware/cors.html#configuring-cors shows how to do this, with the next heading outlining if you want an array of origins to be accepted (which you might for local and prod, or you may have more environments like preview or staging to support on different origins). You may be tempted to allow all (*), but, probably best not to. Techi11 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.