我正在使用快速和有角度的工作2.当我第一次开始时,我分叉了Angular2'开始使用'项目并开始使用它,一切都很好。但不是我决定使用angular cli(ng new myapp)正确创建一个Angular应用程序。现在我的所有请求都因某些原因无效。我可能有一个逻辑缺陷(如何连接表达角度) 这是带有两个版本的角度应用程序的github repo。 "客户端1"是旧的和"客户"是新的。
https://github.com/AliObaji/ClearReview-REMASTERED
这是当前的后端代码:
var express = require('express');
var mongoose = require("mongoose");
var http = require('http');
var path = require('path');
var CourseColl = require("./models/course");
var profColl = require("./models/professor");
var app = express();
mongoose.connect("mongodb://localhost:27017/Elissa");
var db = mongoose.connection;
db.once('open', function() {
console.log("Connection to Elissa established.");
});
app.set('views', path.join(__dirname, '../client/dist'));
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
app.use(express.static(path.join(__dirname, "../client/dist")));
app.get("/test",function(req,res){
console.log("hi");
});
app.get("/courseList", function (req, res) {
CourseColl.find(function(err,courses){
if(err){
console.log(err);
}
else{
res.json({
courses: courses
});
}
});
});
app.get("/profList",function (req, res) {
profColl.find(function(err,profs){
if(err){
console.log(err);
}
else{
res.json({
professors: profs
});
}
});
});
app.get('/courseDetails',function (req, res) {
CourseColl.findById(req.query.id,function(err,myDoc){
if (err){
console.log(err);
}
else{
res.json(myDoc);
}
});
});
http.createServer(app).listen(3000, function (req, res) {
console.log("Server is running on port 3000");
});
以下是我如何以角度进行获取请求。
import { Injectable } from '@angular/core';
import {Http, Response} from '@angular/http';
import { Observable } from 'rxjs/Observable';
import {course} from '../objects/course';
import 'rxjs/Rx'
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
export class c{
courses
}
@Injectable()
export class CourseListProvider{
private courses: Array<course>;
constructor(private http:Http){
}
private c:c;
getCourses():Observable<c>{
this.c.courses = this.http.get('/courseList')
.map(this.extractData)
.catch(this.handleError);
console.log(c);
return this.c.courses;
}
test(){
console.log("we have reached here");
this.http.get('http://localhost:3000/test/');
}
private extractData(res:Response){
console.log(res);
return res.json();
}
private handleError (error: any) {
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg);
return Observable.throw(errMsg);
}
}
请帮我解决获取请求和我逻辑中的任何缺陷。 谢谢