Angular 2+中客户端和服务器之间的通信

时间:2017-12-07 07:00:21

标签: node.js angular angular2-forms nodemailer

我正在使用NodeMailer进行邮件服务。我必须从客户端的字段中获取电子邮件地址,并将该值发送到我的nodemailer代码所在的app.js。

客户端

ngOnInit() {
  this.forgotForm = this.formBuilder.group({
    email: this.email,
  });
}

sendmail() {
}

app.js,Nodemailer代码(我必须在此处获取要发送的电子邮件ID)

let mailOptions = {
    from: 'xyz@gmail.com',
    to: '',
    subject: 'Test Mailer',
    text: 'I am testing Nodemailer to send email.',
};

2 个答案:

答案 0 :(得分:0)

您应该考虑查看/学习Angular然后进入表单。然后进入http模块,它将帮助您将数据发布到服务

这是一个要点而非实际答案

有很多方法可以完成这项工作,使用普通输入并使用按钮控件或使用Forms [最佳方法]从该输入获取数据,因为您可能还有其他详细信息要发送。

Angular Template DrivenReactive Forms中有两种来自。

在获得表单中的详细信息后,您需要将其发布到我正在猜测的Rest服务中。为此,您需要查看Angular Http Client模块

请查看这些链接以获取更详细的信息。

答案 1 :(得分:0)

您需要以角度使用服务才能执行此操作。在终端中设置要创建服务的文件夹的路径,然后使用命令ng generate service <service_name>。这将创建一个文件service_name.service.ts。您可以参考https://codecraft.tv/courses/angular/http/overview/https://angular.io/tutorial/toh-pt4了解详情。

您可以使用API​​以及http方法get,post,put,delete等来完成您的任务。

在相应的component.ts文件中创建一个可变的电子邮件,如:

email =string;

在html文件中,将输入字段与ngModel绑定为:

[(ngModel)]="email"

然后在service.ts中创建一个接受电子邮件作为参数的函数

endMail(email) {
//make api call using http method(say post)
// supply email
  let url = <APIURL>
  return http.post(url, {email: email});
}

再次在component.ts中导入此服务并在构造函数中实例化并使用方法来调用服务