gpt4 book ai didi

angularjs - 后端接收到 HTTP Post 数据对象时不完整

转载 作者:太空宇宙 更新时间:2023-11-04 02:19:42 24 4
gpt4 key购买 nike

我正在尝试使用 AngularJS 中的联系表单发送电子邮件,服务器端是用 NodeJS 编程的,要通过 smtp 发送电子邮件,我正在使用 nodemailer 库,AngularJS 端表单正在发送数据,但服务器端没有收到此数据,只向我显示一个名为 IncomingMessage 的对象,其中包含许多项目,但我没有看到我的电子邮件数据。

Angular 边

angular.module('contactApp', [])
.factory('postEmailForm',['$http',function($http){

return {

postEmail: function(emailData,callback){
console.log(emailData);
$http.post("/contact-form", emailData).success(callback);
}
}
}])

.controller('ContactController', function ($scope,postEmailForm) {

$scope.sendMail = function () {
console.log("Entro!");
var req = {
headers: {
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content- Type, Accept'
},
data:
{
contactName : this.contactName,
contactEmail : this.contactEmail,
contactMsg : this.contactMsg
}
}

postEmailForm.postEmail(req, function (res) {
console.log(req);
if (res.type == false) {
//do something
}else{

console.log("OK");
}

})

};

});

服务器端

var express=require('express');
var nodemailer = require("nodemailer");
var app = express();
var serveStatic = require('serve-static');
var http = require('http');
app.use(serveStatic("."));
app.get('/',function(req,res){
res.sendfile('index.html');
});

var smtpTransport = nodemailer.createTransport("SMTP",{
service: "Gmail",
auth: {
user: "sending email",
pass: "sending pass"
}
});

app.post('/contact-form',function(req,res){
//Your NodeMailer logic comes here
console.log(req.data);

var mailOptions={
from : req.data.contactEmail,
to: recipient email
subject : "Contact",
text : req.data.contactMsg
}
console.log(mailOptions);
smtpTransport.sendMail(mailOptions, function(error, response){
if(error){
console.log('Server error ' + error);
res.end("error");
}else{
console.log("Message sent: " + response.message);
res.end("sent");
}
});

最佳答案

我忘记在服务器端添加 body-parser 来解析数据

var bodyParser = require('body-parser');
app.use(bodyParser.json());

关于angularjs - 后端接收到 HTTP Post 数据对象时不完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34090107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com