2017-08-23 34 views
0

我只想从Angular组件向NodeJS + Express服务器发出成功的GET请求。对NodeJS + Express的角度调用以获得基本的GET请求

someComponent.ts

console.log("Before"); 
// send to server 
console.log(this.http.get('/email').map((res:Response) => { 
    console.log("middle"); 
    return res; 
})); 
console.log("After"); 

server.js

app.get('/email', function(req, res, next){ 
    res.send('GET email request'); 
}); 

Chrome的控制台输出:

如果那里有一些错误的代码
Before 
->t 
    -> operator: t(thisArg: undefined, project: f) 
    -> source: t {_isScalar: false, surce: t, operator t} 
     _isScalar: false 
    -> __proto__: Object 
After 

有人能告诉我吗?我不认为回调函数正在执行,因为控制台不输出“中”。另外我不知道这个't'应该在控制台中是什么样的http响应对象。不应该正确的控制台日志是“GET电子邮件请求”而不是这个“t”对象。

回答

1

使用app.module.ts的HTTP模块:

import { HttpModule } from '@angular/http'; 

,并加入到进口:[http模块]

你可以(在你的组件)直接输入:

constructor(private http: Http){} 
this.http.get('http://full_uri_endpoint:port/email').subscribe(
    res => console.log(res), 
    error => console.log(error) 
); 
+0

的模块被导入并注入组件。对于你的http调用和回调,我在“null”之后得到“之前”,不知道那是什么意思 – user1337604

+0

我不确定你在哪里得到“之前”之后的空值。你能告诉我实际发生了什么吗? – Carsten

+0

我的意思是这是控制台输出,它应该是log 的响应或错误,但是如果我在这里查看控制台日志,则会返回null http://i.imgur.com/gU7DBrH.png – user1337604