簡體   English   中英

POST上的Ajax發布404

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM