我有一個角度的應用程序與表單,使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