Я пытаюсь сделать запрос get на mongoDB, который находится на сервере.Это тот же сервер, на котором будет размещаться моя веб-страница.Я создал API, чтобы веб-страница могла отправлять запросы к mongoDB.
Моя первая проблема заключалась в том, что он был заблокирован политикой CORS, поэтому я рассмотрел эту информацию и обнаруженную информацию привел к добавлению в corsOptions
to server.js
(файл API, работающий на сервере).
Это мой server.js
(файл API, который я запускаю на сервере для подключения веб-страницы с помощью node.js
connect to mongoDB):
// Dependencies
var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var cors = require('cors');
var app = express();
const corsOptions = {
origin = true,
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
credentials: true,
preflightContinue: true,
maxAge: 600,
};
app.options('*', cors(corsOptions))
app.use(cors(corsOptions))
// MongoDB
mongoose.connect('mongodb://serverip:27017/database');
// Express
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
// Routes
app.use('/api', require('./routes/api'));
// Start server
app.listen(3000);
console.log('Listening on port 3000...');
My .component.ts
выполняет простой httpClient.get
запрос на получение информации, например так:
const httpOptions = {
headers: new HttpHeaders({
'Access-Control-Allow-Origin': '*'
})
};
this.httpService.get('http://serverip:3000/api/collection/', httpOptions).subscribe(
result => {
console.log(result);
},
error => {
console.log('Error occured', error);
}
)
В Google Chrome появляется следующая ошибка:
OPTIONS http://serverip:3000/api/collection/ net::ERR_EMPTY_RESPONSE
Я запускал Chrome с этой командой в WIN
+ R
:
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
Я получаю эту ошибку на этом Chrome:
OPTIONS http://serverip:3000/api/collection/ net::ERR_EMPTY_RESPONSE
ЕслиЯ удаляю код в server.js
, который связан с CORS, и загружаю веб-страницу в Chrome без веб-безопасности, затем веб-страница загружает данные из MongoDB без каких-либо проблем.
Я также пыталсяположить OPTIONS
в methods
в server.js
, но я все еще получаю ту же ошибку.
Я предполагаю, чтоего ошибка из corsOptions
, но что мне нужно изменить / добавить, чтобы устранить эту ошибку.
Любая помощь приветствуется!