Http-запрос к локальному узлу сервера из локального углового проекта CORS ERR - PullRequest
0 голосов
/ 19 января 2019

Я делаю локальный проект, я использую угловую форму 6, которая запускается на сервере узлов localhost: 4200 / и nodeJ, которые работают на сервере узлов, но на другом порту localhost: 2000

Проблема в получении ошибки безопасности CORS, хотя я подготовил nodejs для принятия запроса.

Угловой код

  register(regData){
    return this.httpClient.post(this.url,regData);
  }

npm install cors --save // intsall cors (NodeJs)

NodeJs

const express  = require('express')
,cors = require('cors')
,app = express();
var bodyParser = require('body-parser');

const productR = require('./routes/product');

// middleware
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());

var originsWhitelist = [
    'http://localhost:4200',      //this is my front-end url for development
    'http://127.0.0.1:4200'
  ];
  var corsOptions = {
    origin: function(origin, callback){
          var isWhitelisted = originsWhitelist.indexOf(origin) !== -1;
          callback(null, isWhitelisted);
    },
    credentials:true
  }
  app.use(cors(corsOptions));
  app.use('/products', productR);

СООБЩЕНИЕ ОБ ОШИБКЕ

Доступ к XMLHttpRequest по адресу 'localhost: 2000 / products / create' from origin 'http://localhost:4200' заблокирован политикой CORS: запросы на разные источники поддерживаются только для схем протоколов: http, data, chrome,chrome-extension, https.

1 Ответ

0 голосов
/ 19 января 2019

Это сообщение об ошибке означает, что URL, который вы используете для запросов со стороны клиента, содержит неверный протокол.В вашем случае в URL вообще не было протокола.

Итак, решение вашей проблемы - использовать http://localhost:2000 вместо localhost:2000.

Протокол является важнымчасть URL, потому что между протоколами есть большие различия.Например, ваш URL может выглядеть как file:///localhost... или ftp://localhost... и так далее.Так что лучше всегда определять это напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...