簡體   English   中英

Ajax 發送到服務器主體未定義

[英]Ajax sending to server body is undefined

我正在使用 ajax 制作一個簡單的投票系統。

這是代碼...

// Receving The Votes
app.post('/submitvote', (req, res) => {
    // req.body, body is undefined
    // should be: { choice: 2 }, 2 is just an example
    console.log(req.body);
});

此代碼將法官的投票保存到一個變量中,僅用於測試。 但是身體(選擇在哪里)是未定義的

讓我們看看客戶端...

var picked = 0

function voteto(plr) {
    +plr;
    picked = plr;
    console.log(`Picked Player #${plr}`)
    if (plr == 1) {
        document.getElementById('plr1').style.backgroundColor = 'blue';
    } else {
        document.getElementById('plr1').style.backgroundColor = 'darkblue';
    }

    if (plr == 2) {
        document.getElementById('plr2').style.backgroundColor = 'blue';
    } else {
        document.getElementById('plr2').style.backgroundColor = 'darkblue';
    }

    if (plr == 3) {
        document.getElementById('plr3').style.backgroundColor = 'blue';
    } else {
        document.getElementById('plr3').style.backgroundColor = 'darkblue';
    }
}

$(document).ready(function(){
    $("#submit").click(function(){
        console.log("Sending Data");
        $.post("/submitvote", {
            choice: picked,
        });
    });
});

voteto是投票的選擇器。

我只是在choice參數中發送picked的變量(我不知道你會怎么稱呼它)。 我沒有進行回調,因為它只是保存它。

但事物就是身體是未定義的。 為什么?

在 app.js(entry) 中添加app.use(express.urlencoded()) )。 這對我有用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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