簡體   English   中英

無法獲得 express.js 響應

[英]Can't get express.js response

我試圖根據其內容以不同的方式處理服務器響應,但我什至無法運行與響應數據無關的東西。

這是我在 jQuery 中的請求:

function Register() { var form = $('#signup-form') $.post("http://localhost:3000/register", form.serialize(), (data) => console.log("1")) .done((data) => console.log("2")) .fail((data) => console.log("3")) .always((data) => console.log("4")); }

在快遞中:

rota.post('/register', (req, res) => {
const name = req.body.name;
const age = req.body.age;
const pass = sha256(req.body.pass);
const request = new sql.Request();
request.query(`SELECT CAST(CASE WHEN EXISTS(SELECT * FROM Usuario WHERE username = '${name}') THEN 1 ELSE 0 END AS BIT) AS re`).then(
    result => {
        if (result.recordset[0].re == true) {
            console.log("usuário já registrado");
            res.send("1");
        } else {
            request.query(`INSERT INTO Usuario(username, userage, userpass) VALUES('${name}', '${age}', '${pass}')`);
        }
    }).catch(result => {})
})

我究竟做錯了什么?

發回狀態以完成請求,否則它將保持打開狀態。 catch 塊中插入400狀態響應,讓前端知道請求失敗並進入fail()函數:

 request.query(`SELECT CAST(CASE WHEN EXISTS(SELECT * FROM Usuario WHERE username = '${name}') THEN 1 ELSE 0 END AS BIT) AS re`).then( result => { if (result.recordset[0].re == true) { console.log("usuário já registrado"); res.send("1"); } else { request.query(`INSERT INTO Usuario(username, userage, userpass) VALUES('${name}', '${age}', '${pass}')`); res.status(200).send(); // here add a status of 200 to signal success } }).catch(result => { res.status(400).send(); // send also a 400 status response to signal failure }) })

暫無
暫無

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

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