我有一个角度的应用程序与表单,使ajax请求。电子邮件工作正常,但不管我设定的回应是什么;我得到了一条路径错误。我假设节点期望路径'/ send'来呈现模板或数据,但我只想要电子邮件的路径!〜我使用模式弹出式窗口&角度ui路由选择路径。发送电子邮件时Node.js 404错误,忽略我的res.status
app.get('/send', function (req, res, err) {
var cartContent = req.body.slice(1,20);
var content = tableify(cartContent);
var sendit = {
to: '*****@gmail.com',
from: '****@bluenightphoto.com',
replyTo: req.body[0].email,
subject: "CP Carpet Quote Request: " + req.body[0].fname + " " + req.body[0].lname , // REQUIRED.
html: '<b>Customer Quote</b>' + '<br>' + 'Customer Name: ' + req.body[0].fname + " " +
'<br>' + 'Message: ' + req.body[0].message + '<br>' + <b>Table</b>'+ '<br><br>' + content,
};
// Transporter refers to nodemailer and sendit is the login details(mail works fine!)
transporter.sendMail(sendit, function (req, res, err) {
if (err) {
console.log(err + "something strange...");
res.status(401).send("that's all folk's");
} else {
res.status(200).send("nuthing here");
console.log("Message sent! ");
}
transporter.close();
});
});
然而,即使电子邮件成功,我的错误处理程序总是得到一个404响应。
编辑:试了下面的两个解决方案,没有工作。
这里是角Ajax代码
var makeForm = function() {
if (mailJson[1].total !== 0) {
deferred.resolve(mailJson);
console.log('values loaded successfully again');
$http({
method : 'GET',
url : '/send',
data : mailJson,
headers : {
'Content-type' : 'application/json'
}
}).success(function() {
console.log('success!');
$scope.alertEmailOk = true;
}).error(function (err) {
console.log('there was an error indeed ' + err);
$scope.alertEmailOk = false;
});
} else {
console.log('no values!');
deferred.reject(mailJson);
}
return deferred.promise;
};
的console.log( '有一个错误确实' + ERR);总是火灾..可能需要发回数据?
这里是我的快件代码中的错误处理程序:
if (app.get('env') === 'production') {
// changes it to use the optimized version for production
app.use('/', express.static(path.join(__dirname, '/dist')));
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
通过异步获得了一些信息,但我确信我们在这里丢失了一小段代码。该路由控制器中的其他任何东西?另外,中间件是'(req,res,next)' –
它与'angularjs'有关吗?如果它超出了等式 - 然后删除标签以避免饥饿的'angularjs'大脑。 – ilyaigpetrov
我添加了角度ajax代码。 – deek