Кросс-исходный запрос заблокирован MEAN стека - PullRequest
0 голосов
/ 20 июня 2019

У меня есть стековое приложение MEAN для простой функции регистрации во внешнем интерфейсе. Я получаю сообщение об ошибке при попытке зарегистрировать пользователя.

Запрещен перекрестный запрос источника: та же политика происхождения запрещает чтение удаленного ресурса на http://localhost:8080/api/signup. (причина: сбой запроса CORS).

Мой файл app.js такой же, как показано ниже на стороне сервера.

var express = require('express');
var bodyparser = require('body-parser');
var mongo = require('mongoose');
var cors = require('cors');

var app = express();

//CORS Middleware
app.use(function (req, res, next) {
  //Enabling CORS
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, x-client-key, x-client-token, x-client-secret, Authorization");
  next();
});

const appRouter = require('./router/router');


var db = mongo.connect('mongodb://localhost:27017/theme-alpha-new', { useNewUrlParser: true }, function(err,res){
    if(err) {console.log(err);}
  else {
      console.log('connected to ' + db + ' + ' + res);
    }
});
app.use(bodyparser);
app.use(bodyparser.json({limit: '5mb'}));
//app.options('*', cors());
//app.use(cors());
app.use(bodyparser.urlencoded({extended: true}));

app.use('/api', appRouter);

function errorHandler(err, req, res, next) {
  if (typeof (err) === 'string') {
    return res.status(400).json({ message: err });
  }

  if (err.name === 'ValidationError') {
    return res.status(400).json({ message: err.message });
  }

  if (err.name === 'UnauthorizedError') {
    return res.status(401).json({ message: 'Invalid Token' });
  }
  return res.status(500).json({ message: err.message });
}
module.exports = errorHandler;

app.listen('8081', function(){
  console.log('Theme-alpha-new listening on port 8081');
});

Я запускаю front-end как 'ng serve' в терминале. Я использую версию FireFox 40.0.3 в Ubuntu

...