联系表格应该发送一封电子邮件,但是console.log显示404错误,虽然数据是可见的。 Node.Js/Express和Angular:但是我用角度的UI路由器....可能导致冲突吗?
有角度。 app.js
app.controller("emailForm", ['$scope', '$http', function ($scope, $http) {
$scope.user = {test: 1};
$scope.processForm = function(user) {
console.log('Im in the controller');
$http({
method : 'POST',
url : '/send',
data : $scope.user,
dataType : "json",
headers : { 'Content-Type': 'application/json' },
});
}
}]);
快递app.js:
app.post('/send',function(req,res){
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '[email protected]',
pass: '*****'
}
});
var emailBody = '<div>Name: ' + req.user.name + '</div>' +
'<div>Email: ' + req.user.email + '</div>' +
'<div>Phone: ' + req.user.phone + '</div>' +
'<div>Message: ' + req.user.message + '</div>' +
'<div>Date: ' + (new Date()).toString() + '</div>';
var mailOptions = {
From: '[email protected]',
To: '[email protected]',
subject: 'Contact from website',
html: 'emailBody'
};
console.log(mailOptions);
transporter.sendMail(mailOptions, function (error, info){
if(error){
console.log(error);
}else{
console.log('Message sent: ' + info.response);
}
});
});
});
});
形式:
<form ng-controller="emailForm" ng-submit='processForm(user)' >
Name: <br><input type="text" ng-model="user.name" /><br><br>
E-mail: <br><input type="email" ng-model="user.email" /><br><br>
Phone:<br> <input type="tel" ng-model="user.phone" /><br><br>
Message: <br><textarea rows="4" cols="50" ng-model="user.message"> </textarea><br><br>
{{user.phone}}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" ng-disabled="my_form.$invalid" class="btn btn-primary">Submit</button>
</form>
你可以分享你在控制台中看到的确切的404错误。 – Zee
在什么港口表达js正在倾听?是否没有包含发送的组?添加/发送路由后是否重新启动服务器? – vanadium23
您的代码中的gmail用户和密码是否是假的? ;)如果不是,我可以建议你尽快改变它吗? –