Request header field Access-Control-Allow-Headers is not allowed by itself in preflight response

When you start playing around with custom request headers you will get a CORS preflight. This is a request that uses the HTTP OPTIONS verb and includes several headers, one of which being Access-Control-Request-Headers listing the headers the client wants to include in the request. You need to reply to that CORS preflight with the … Read more

req.body empty on posts

In Postman of the 3 options available for content type select “X-www-form-urlencoded” and it should work. Also to get rid of error message replace: app.use(bodyParser.urlencoded()) With: app.use(bodyParser.urlencoded({ extended: true })); See https://github.com/expressjs/body-parser The ‘body-parser’ middleware only handles JSON and urlencoded data, not multipart As @SujeetAgrahari mentioned, body-parser is now inbuilt with express.js. Use app.use(express.json()); to … Read more

Start script missing error when running npm start

It looks like you might not have defined a start script in your package.json file or your project does not contain a server.js file. If there is a server.js file in the root of your package, then npm will default the start command to node server.js. https://docs.npmjs.com/misc/scripts#default-values You could either change the name of your … Read more

How to get a URL parameter in Express?

Express 4.x To get a URL parameter’s value, use req.params app.get(‘/p/:tagId’, function(req, res) { res.send(“tagId is set to ” + req.params.tagId); }); // GET /p/5 // tagId is set to 5 If you want to get a query parameter ?tagId=5, then use req.query app.get(‘/p’, function(req, res) { res.send(“tagId is set to ” + req.query.tagId); }); … Read more

Download a file from NodeJS Server using Express

Update Express has a helper for this to make life easier. app.get(‘/download’, function(req, res){ const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`; res.download(file); // Set disposition and send it. }); Old Answer As far as your browser is concerned, the file’s name is just ‘download’, so you need to give it more info by using another HTTP header. res.setHeader(‘Content-disposition’, … Read more

NodeJS / Express: what is “app.use”?

The app object is instantiated on creation of the Express server. It has a middleware stack that can be customized in app.configure()(this is now deprecated in version 4.x). To setup your middleware, you can invoke app.use(<specific_middleware_layer_here>) for every middleware layer that you want to add (it can be generic to all paths, or triggered only … Read more

How can I set NODE_ENV=production on Windows?

Current versions of Windows use Powershell as the default shell, so use: $env:NODE_ENV=”production” Per @jsalonen’s answer below. If you’re in CMD (which is no longer maintained), use set NODE_ENV=production This should be executed in the command prompt where you intend to run your Node.js application. The above line would set the environment variable NODE_ENV for … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)