【问题标题】:Node.js: How to display the response data in a listNode.js:如何在列表中显示响应数据
【发布时间】:2019-12-29 18:14:29
【问题描述】:

我对 node.js 很陌生,我想在我的页面上显示我作为响应获得的数据。现在我可以在我的控制台上获得输出。 有没有办法做到这一点?

GET 请求:

app.get('/bestell_uebersicht', (req, res) => {

    var orderinfo;
    var payed = "1";
    var i;
    res.send(req.session.user_id);
    console.log("User_id" + req.session.user_id);

    var sql = "SELECT * FROM CineTickets WHERE UID ='" + req.session.user_id + "' AND payed = '" + payed + "'";
    db.query(sql, (err, result) => {
        if(err) throw err;
        for(i = 0; i < result.length; i++){
        console.log("Saal: " + result[i].CinemaAuditorium + " Datum Film:" + result[i].dateOfFilm + " Film:" + result[i].nametimeOfFilm + " Platznummer: " + result[i].placeno  + " Kosten: " +  result[i].cost + "€");
        orderinfo = "Saal: " + result[i].CinemaAuditorium + " Datum Film:" + result[i].dateOfFilm + " Film:" + result[i].nametimeOfFilm + " Platznummer: " + result[i].placeno  + " Kosten: " +  result[i].cost + "€";

        res.send(`
        <p>Hier ist eine Bestellübersicht über ihr angefordertes Kinoticket</p>
        <h3>Kinoticket-Cinestar</h3>
        <ul>
            <li>${orderinfo}</li>
        </ul>
        `);
        }
    });
});

错误:

express deprecated res.send(status): Use res.sendStatus(status) instead app.js:643:9
User_id1
_http_server.js:194
    throw new RangeError(`Invalid status code: ${originalStatusCode}`);
    ^

RangeError: Invalid status code: 1
    at ServerResponse.writeHead (_http_server.js:194:11)
    at ServerResponse.writeHead (/home/umut/Schreibtisch/serveranw_Kinoreservierung/node_modules/on-headers/index.js:44:26)
    at ServerResponse._implicitHeader (_http_server.js:185:8)
    at ServerResponse.end (_http_outgoing.js:754:10)
    at writeend (/home/umut/Schreibtisch/serveranw_Kinoreservierung/node_modules/express-session/index.js:262:22)
    at Immediate.onsave [as _onImmediate] (/home/umut/Schreibtisch/serveranw_Kinoreservierung/node_modules/express-session/index.js:336:11)
    at runCallback (timers.js:794:20)
    at tryOnImmediate (timers.js:752:5)
    at processImmediate [as _immediateCallback] (timers.js:729:5)

【问题讨论】:

  • 而不是:res.send(req.session.user_id); 试试这个:res.status(200).json({userId: req.session.user_id}) 或者删除这个不必要的行。
  • res.json() 也可以使用

标签: javascript mysql node.js server


【解决方案1】:

根据我理解你的意图,你的代码应该是这样的

app.get('/bestell_uebersicht', (req, res) => {

    var orderinfo;
    var payed = "1";
    var i;
    res.send(req.session.user_id);
    console.log("User_id" + req.session.user_id);

    var sql = "SELECT * FROM CineTickets WHERE UID ='" + req.session.user_id + "' AND payed = '" + payed + "'";
    db.query(sql, (err, result) => {
        if(err) throw err;
        var htmlStr = `
            <p>Hier ist eine Bestellübersicht über ihr angefordertes Kinoticket</p>
            <h3>Kinoticket-Cinestar</h3>
            <ul>`;
        for(i = 0; i < result.length; i++){
            console.log("Saal: " + result[i].CinemaAuditorium + " Datum Film:" + result[i].dateOfFilm + " Film:" + result[i].nametimeOfFilm + " Platznummer: " + result[i].placeno  + " Kosten: " +  result[i].cost + "€");
            orderinfo = "Saal: " + result[i].CinemaAuditorium + " Datum Film:" + result[i].dateOfFilm + " Film:" + result[i].nametimeOfFilm + " Platznummer: " + result[i].placeno  + " Kosten: " +  result[i].cost + "€";

            htmlStr += `<li>${orderinfo}</li>`;
        }
        htmlStr += "</ul>";

        res.send(htmlStr);
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 2019-08-14
    相关资源
    最近更新 更多