Я новичок в стеке MEAN.Я хочу получать данные с экспресс-сервера (который я создал с помощью mongodb), когда я нажимаю кнопку, функция при нажатии кнопки была выполнена, но запрос не был выполнен, база данных, сервер все работают нормально, я просто ничего не получил на консоли, вот мои файлы клиента и сервера:
клиент (работает на http://localhost:3001)
Импортированные модули и добавленные к импорту в ngModule
импортировать {Http, Headers, HttpModule, Response, RequestOptions} из "@ angular / http";
Введен в конструктор как сервис, затем: template:
<button md-button class="button1" (click)="newQues()">Submit</button>
В классе:
newQues(){
this.http.get('https://localhost:3000/')
.map(this.extractData)
.catch(this.handleError); //these copied from angular2
//official documentation
}
private extractData(res: Response) {
let body = res.json();
console.log(body); //not getting console nor error
return body.data || { };
}
сервер работает на порту 3000
app.get('/', function (req, res) {
model.findOne({ id: 1}, function (err, data) {
if (err) {
console.log(err)
} else {
console.log(data);
res.send(data);
}
})
получение этой ошибки при запросе
весь код сервера:
import * as express from "express";
var app = express();
import * as path from "path";
import * as mongoose from "mongoose";
import * as lodash from "lodash";
import * as morgan from "morgan";
app.use(express.static(path.join(__dirname, "./../client")));
var uriString = 'mongodb://localhost/quizapp';
mongoose.connect(uriString, function (err, res) {
if (err) {
console.log("Error occured while establishing connection " + err);
} else {
console.log("Connection successful ");
}
})
var schema = new mongoose.Schema({ //schema
question: String,
id: Number
})
var quizz = mongoose.model('Quiz', schema); //creating model
var firstDoc = new quizz({
question: 'question 1',
id: 1
})
var secondDoc = new quizz({
question: 'question 2',
id: 2
})
var question_data = [firstDoc, secondDoc];
quizz.insertMany(question_data, function (err, res) {
if (err) {
console.log("Error occured while saving document object " + err)
} else {
console.log("Data Saved Successful");
}
})
app.get('/data', function(req, res) {
quizz.findOne({ id: 1}, function (err, data) {
if (err) {
console.log(err)
} else {
console.log(data);
res.send(data); //res.json
}
})
})
когда я направляюсь на localhost: 3000 / data данные из базы данных отображаются в окне, но при запросе этого маршрута у клиента (см. код на стороне клиента this.http.get) возникает ошибка (изображение прилагается)