[英]Ajax post 404 on POST
我正在嘗試使用節點發送測試電子郵件。
我的服務器代碼index.js看起來像這樣:
var http = require("http"),
express = require('express'),
nodemailer = require('nodemailer'),
bodyParser = require('body-parser'),
app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(express.static(__dirname + '/public'));
app.post('/contact', function (req, res) {
var name = req.body.name;
var email = req.body.email;
var message = req.body.message;
var mailOpts, smtpTrans;
smtpTrans = nodemailer.createTransport('SMTP', {
service: 'Gmail',
auth: {
user: "email@gmail.com",
pass: "password"
}
});
mailOpts = {
from: name + ' <' + email + '>', //grab form data from the request body object
to: 'cmatsoukis@gmail.com',
subject: "Website Contact",
text: message
};
smtpTrans.sendMail(mailOpts, function (error, response) {
//Email not sent
if (error) {
res.send(false);
}
//Yay!! Email sent
else {
res.send(true);
}
});
});
app.listen(1337, '127.0.0.2');
這是我提交表單時的ajax代碼
var form = $("form#contact_form");
form.submit(function () {
event.preventDefault();
var name = $('#name').val();
var email = $('#email').val();
var msg = $('#message').val();
var info = {"name" : name, "email": email, "message" : msg}
$.ajax({
url: 'http://127.0.0.2:1337',
type: 'POST',
data: JSON.stringify(info),
contentType: "application/json; charset=utf-8",
jsonpCallback: 'callback', // this is not relevant to the POST anymore
//dataType: 'json',
success: function (data) {
MailSuccess()
lightSpeed();
},
error: function () {
MailFail();
}
});
});
我收到錯誤POST http://127.0.0.2:1337/ 404 (Not Found)
我認為我的網址不正確。 我有app.post('/contact', function (req, res) {
但是我不正確。而且我不應該在url: 'http://127.0.0.2:1337',
放置文件名url: 'http://127.0.0.2:1337',
?
我相信我還有其他正確的地方。 請告訴我。
您已經為'/contact'
注冊了一個POST處理程序,但是您正在向'/'
請求。
由於您沒有告訴表達'/'
因此它會返回“未找到”。
使兩個路徑匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.