向 Express 服务器发送提取请求

时间:2021-02-19 11:26:05

标签: express http authentication request fetch

我有一个数据库和服务器,可以快速登录系统。 当我使用 Postman 访问服务器时,一切正常。

当我用 fetch 发送请求时,它不起作用:请求中的数据没有发送。

CLI Screenshot

这是 fetch 请求代码:

function users() {
    let data = { name: 'kave', password: 8754 };
    console.log(data);

    fetch('http://localhost:1337/login', {
        method: 'POST',
        // headers: { "Content-Type": "application/json" },
        body: JSON.stringify(data),
    })
        .then((response) => console.log(response))
        .catch((error) => {
            console.error('Error:', error);
        });
}

服务器路由器:

app.use(bodyParser.json());

app.post('/login', (request, response) => {
    console.log(request.body);
    let name = request.body.name;
    let password = request.body.password;
    connection.query(
        `SELECT * FROM users WHERE name = '${name}' AND password = '${password}'`,
        (error, result, fields) => {
            if (!!error) {
                console.log('Error in the query' + error);
            } else {
                console.log('successful query\n');
                console.log(result);
            }
            if (result.length > 0) {
                console.log('in db');
                response.send(result);
            } else {
                response.send('error');
            }
        }
    );
});

0 个答案:

没有答案