Node.js 从Angular 4向NodeJS发送HTTP请求

Node.js 从Angular 4向NodeJS发送HTTP请求,node.js,angular,email,Node.js,Angular,Email,我想知道如何从Angular 4发送电子邮件。 我已经配置了NodeJS,还使用mailgun创建了帐户 我的请求文件 var headers = new Headers(); headers.append("Authorization", "Basic "+btoa("api:key-XXXXXXXXXXXXX")); var url="https://api.mailgun.net/v3/DOMAIN.mailgun.org.mailgun.org/messages"; var mail

我想知道如何从Angular 4发送电子邮件。 我已经配置了NodeJS,还使用mailgun创建了帐户

我的请求文件

var headers = new Headers(); 
headers.append("Authorization", "Basic "+btoa("api:key-XXXXXXXXXXXXX"));
var url="https://api.mailgun.net/v3/DOMAIN.mailgun.org.mailgun.org/messages";
var mail = {
  from : "text",
  to : "text",
  subject : "text",
  text : "text"
};
this._http.post(url, message, {headers:authHeader});

我不明白如何将AngularJS与节点js连接起来,提供并接受的答案是AngularJS(1.x)。Angular 2+中根本没有
$scope
模块()
,或
控制器()

从以下位置将标题添加到文章:

或使用对象:

前面的示例适用于Angular 4+,如果您使用Angular 2.x和,则可以使用
标题
请求选项

import { Headers, RequestOptions } from '@angular/http';

let message = { /* ... */ };

let foo: string = btoa("api:key-XXXXXXXXXXXXX");
let headers = new Headers({ 'Authorization': "Basic " + foo )});
let options = new RequestOptions({ headers: headers });

this.http.post('/some/api/path', JSON.stringify(message), options)
    .subscribe(res => console.log(res));

希望这有帮助

现在我得到了这个错误:“类型为'Headers'的参数不能分配给类型为'RequestOptions''的参数导出类注册组件{构造函数(受保护的http:http){let foo:string=btoa(“api:key-xxxxxxxxxxxx”);let Headers=new HttpHeaders({'Authorization':“Basic”+foo});let options=newrequestoptions({headers:headers});this.http.post('/some/api/path',JSON.stringify(message),options)。subscribe(res=>console.log(res));听起来您可能在使用HttpModule,而不是Angular 4+HttpClientModule。您需要将
RequestOptions
标题一起使用。我已更新了答案以演示这一点。希望这能有所帮助!我收到一个错误:“from”参数丢失。消息Mwsage={发件人:'email@gmail.com,致:email@gmail.com,主题:'text',文本:'text',多部分:true};foo:string=btoa(“api:key-xxxxxxxx”);headers=new-HttpHeaders({'Authorization':“Basic”+this.foo});send(){this.http.post('',JSON.stringify(this.message),{headers:this.headers}).subscribe(res=>console.log(res));您可能需要发布一个单独的问题,因为这是关于HTTP头的问题。不清楚您何时看到此错误。我的猜测是,
this.message
未定义/为空。您需要确保正在执行
this.message={/*props*/}
创建对象时。在发布之前尝试执行
console.log(this.message)
并查看是否有值,这将是一个很好的开始。
let foo: string = btoa("api:key-XXXXXXXXXXXXX");
let headers = new HttpHeaders({ 'Authorization': "Basic " + foo )});

this.http.post('/some/api/path', JSON.stringify(message), { headers: headers })
    .subscribe(res => console.log(res));
import { Headers, RequestOptions } from '@angular/http';

let message = { /* ... */ };

let foo: string = btoa("api:key-XXXXXXXXXXXXX");
let headers = new Headers({ 'Authorization': "Basic " + foo )});
let options = new RequestOptions({ headers: headers });

this.http.post('/some/api/path', JSON.stringify(message), options)
    .subscribe(res => console.log(res));