Angular 角度+;Express,GET请求不';行不通

Angular 角度+;Express,GET请求不';行不通,angular,express,httprequest,Angular,Express,Httprequest,基本上,我的Angular应用程序应该执行HTTP Get请求,而Express服务器(也托管Angular应用程序)应该向Angular应用程序发送一个JSON对象。不知怎么的,它不起作用了,我不知道为什么。即使是Server.js get方法上的第一个console.log也不会被调用 Server.js: var express = require('express'); var app = express(); var path = require('path'); var bodyPa

基本上,我的Angular应用程序应该执行HTTP Get请求,而Express服务器(也托管Angular应用程序)应该向Angular应用程序发送一个JSON对象。不知怎么的,它不起作用了,我不知道为什么。即使是Server.js get方法上的第一个console.log也不会被调用

Server.js:

var express = require('express');
var app = express();
var path = require('path');
var bodyParser = require('body-parser');
app.use(express.static(path.join(__dirname, '../dist/appTest')));

app.use(bodyParser.json({
  limit: '5mb'
}));
app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(function (req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
  res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type,Accept');
  res.setHeader('Access-Control-Allow-Credentials', true);
  next();
});
app.get('*', (req, res, next) => {
    res.sendFile(path.join(__dirname, '../dist/appTest/index.html'))

});
app.get("/api/getData", function(req,res) {
  console.log("get123");
  var testObj = {
    "name": "TestName",
    "email": "Test@Email.com",
    "subject": "TestSubject",
    "content": "Some text...",
    "answer": [{
      "date": newDate(Date.now()).toLocaleString(),
      "sender":"Mr.Test",
      "answer":"some text.."
    }]
  }
  console.log("get456");
  res.json(testObj)
});
app.listen(3000, () => console.log('Server running on port 3000!'));
角度服务im使用:

import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';


@Injectable({
  providedIn: 'root'
})
export class DbConnectorService {
  private baseUrl:string = "http://localhost:3000"
  constructor(private http: Http) { }
  getAllData() {
    this.http.get(this.baseUrl + '/api/getData').subscribe((res) => {
      console.log(res);
    });
  }
  }
服务中的console.log打印出以下内容:

Response {_body: "<!doctype html>↵<html lang="en">↵<head>↵  <meta ch…="main-es5.js" nomodule></script></body>↵</html>↵", status: 200, ok: true, statusText: "OK", headers: Headers
响应{{u体:”↵↵↵  ↵↵", 状态:200,正常:真,状态文本:“正常”,标题:标题

我的目标是通过get请求将对象“testObj”从服务器发送到Angular应用程序(现在在浏览器控制台上打印就足够了)。我还想知道为什么console.logs在
App.get(“/api/getData”)函数(req,res)中
不会被打印。这是否意味着路由永远不会被调用?但为什么?

当定义
app.get('*',function()={})时
它接受每个HTTP请求并通过其回调进行处理。我可以从包含文件HTML数据的api中看到您的响应,因此在本例中,您的api处理此块代码,而不是
/api/getData

app.get('*', (req, res, next) => {
    res.sendFile(path.join(__dirname, '../dist/appTest/index.html'))

});

如果你从服务器获得200,你会得到一个响应,你能更具体地说明什么不起作用吗?我很抱歉。首先,我想从服务器的角度/服务接收对象“testObj”。其次,我想知道为什么console.log会在“app.get”(/api/getData)函数(req,res)。。“不会被调用。我编辑了声明
app.get('*'),(
route,在
app.get(“/api/getData”
route之后