获取不使用某些版本的Angular2应用程序的请求(节点js后端)

时间:2017-02-03 19:22:36

标签: javascript node.js angular

我正在使用快速和有角度的工作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);
  }
}

请帮我解决获取请求和我逻辑中的任何缺陷。 谢谢

0 个答案:

没有答案