如何通过单击angular度2模板中的button来启动包含oauth2过程和api调用的nodejs文件

我对angular2 / nodejs非常陌生,正在尝试将表单数据推送到集线器。 我真的需要一些帮助,并觉得我已经尝试了一切。 我的代码如下:

form.component.html

<div xmlns=""> <form (ngSubmit)="onSubmit(f)" #f="ngForm"> <div class="row"> <div class="col-lg-12 form-group"> <label for="email">Email</label> <input type="email" id="email" class="form-control" name="email" ngModel required [pattern]="'^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$'" > </div> <div class="row moveRight"> <div class="col-lg-12 form-group"> <label for="firstname">First Name</label> <input type="text" id="firstname" class="form-control" name="firstname" ngModel required > </div> </div> <div class="row moveRight"> <div class="col-lg-12 form-group"> <label for="lastname">Last Name</label> <input type="text" id="lastname" class="form-control" name="lastname" ngModel required > </div> </div> <div class="row"> <div class="col-lg-12"> <button class="btn btn-success" id="startnode" type="submit" [disabled]="!f.valid" (click)="form.js">Submit</button> </div> </div> </div> 

form.js

 var request = require('request'); request({ url: 'https://app.hubspot.com/oauth/authorize?client_id=CLIENT-ID&scope=forms%20automation&redirect_uri=https://www.example.com/', method: 'POST', auth: { user: 'username', pass: 'Password' }, form: { 'grant_type': 'client_credentials' } }, function(err, res) { var json = JSON.parse(res.body); console.log ("Access Token:", json.access_token); }); var request = require('request'); var accessToken = "ACCESS TOKEN"; request({ url: 'https://api.someapi.com/blah/something', auth: { 'bearer': accessToken } }, function(err, res) { console.log(res.body); }); //require Node modules var https = require('https'); var querystring = require('querystring'); // build the data object var postData = querystring.stringify({ 'email': req.body.email, 'firstname': req.body.firstname, 'lastname': req.body.lastname, 'hs_context': JSON.stringify({ "hutk": req.cookies.hubspotutk, "ipAddress": req.headers['x-forwarded-for'] || req.connection.remoteAddress, "pageUrl": "https://localhost:4200 ", "pageName": "Example Title" }) }); // set the post options, changing out the HUB ID and FORM GUID variables. var options = { hostname: 'forms.hubspot.com', path: '/uploads/form/v2/GUID/CLIENT-ID', method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': postData.length } } // set up the request var request = https.request(options, function(response){ console.log("Status: " + response.statusCode); console.log("Headers: " + JSON.stringify(response.headers)); response.setEncoding('utf8'); response.on('data', function(chunk){ console.log('Body: ' + chunk) }); }); request.on('error', function(e){ console.log("Problem with request " + e.message) }); // post the data request.write(postData); request.end(); 

所以,我需要帮助的4件事情1)确保我正确连接我的表单字段到nodejs字段2)单击提交button后初始化所有nodejs代码3)validation我返回的access_token,我可以用来完成授权过程继续API调用。 4)是我的api发布请求正确。

先谢谢你