title: ExpressJs request body is empty
body: <p>I have an express app at <code>localhost:5000</code> and a react app at <code>localhost:3000</code>. </p>
  
  <p>I am calling it via</p>
  
  <pre><code>            fetch(`${backendUrl}/charge`, {
                  method: "POST",
                  mode: "no-cors",
                  headers: {
                      "Content-Type": "application/json"
                  },
                  body: {
                      stripeToken: token,
                      chargeAmount: this.state.donationAmount
                  }
              })
  </code></pre>
  
  <p>And responding with</p>
  
  <pre><code>function route(req, res) {
    console.log(req.body);
  }
  </code></pre>
  
  <p>Server should be properly configured to work with CORS, but the body is still empty.</p>
  
  <pre><code>//configure env variables
  require("dotenv").config();
  
  //import packages
  var express = require("express");
  var bodyParser = require("body-parser");
  var cors = require("cors");
  
  //import route functions
  const StripeRoute = require("./StripeRoute");
  
  //setup app
  const app = express();
  const port = process.env.PORT || 5000;
  
  //setup bodyparser
  app.use(bodyParser.json());
  app.use(bodyParser.urlencoded({ extended: true }));
  
  //Setup CORS
  app.use(cors());
  app.options("*", cors()); // include before other routes
  
  //Connect functions to API routes
  app.post("/charge", StripeRoute);
  
  module.exports = app;
  </code></pre>