获取 Post 一个数字 server body undefined

Fetch Post a number server body undefined

在服务器上我无法获取我的 request.body.value 但我不知道为什么。它总是未定义的。我已经用 json 尝试了我的其他获取功能。它奏效了,而且它们非常相似。

app.use(express.urlencoded({
    extended: true
}));  
app.post('/async', (request, response) => {
    const size = request.body;
    console.log(size.value)
    let data = [];
    for (let i = 0; i < size.value; i++) {
        data.push(faker.fake("{{name.lastName}}" + " " + "{{name.firstName}}"))
    }
    response.send(JSON.stringify(data))
})
async function sendAsync(event) {
            event.preventDefault();
            let value = 15;
            let response = await fetch('/async', {
                method: "post",
                body: value
            });
            if (!response.ok) throw new Error(response.statusText);
            let name = await response.json();
            displayUserInfo(name);
        }

您的 request.body 是您发送的全部值 body: value。这不是一个对象

1-直接作为值处理

app.post('/async', (request, response) => {
    const size = request.body;
    console.log(size) // here
    let data = [];
    for (let i = 0; i < size; i++) { //here
        data.push(faker.fake("{{name.lastName}}" + " " + "{{name.firstName}}"))
    }
    response.send(JSON.stringify(data))
})

或 2- 发送一个 属性 的对象 value 和你想要的值

async function sendAsync(event) {
            event.preventDefault();
            let value = 15;
            let response = await fetch('/async', {
                method: "post",
                body: {value} //here
            });
            if (!response.ok) throw new Error(response.statusText);
            let name = await response.json();
            displayUserInfo(name);
        }