Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在快速响应中发送对象_Javascript_Rest_Express - Fatal编程技术网

Javascript 无法在快速响应中发送对象

Javascript 无法在快速响应中发送对象,javascript,rest,express,Javascript,Rest,Express,我正在尝试使用res.send将数据库中的所有数据发回,但它给我带来了一个错误。在我的前端,我调用端点select,并尝试返回数据库中的所有行和数据 app.get('/select', function (req, res) { con.query('SELECT * FROM Contracts', function (err, rows, fields) { if (err) { console.log(`Error: ${err}`); }

我正在尝试使用res.send将数据库中的所有数据发回,但它给我带来了一个错误。在我的前端,我调用端点
select
,并尝试返回数据库中的所有行和数据

app.get('/select', function (req, res) {
    con.query('SELECT * FROM Contracts', function (err, rows, fields) {

    if (err) {
      console.log(`Error: ${err}`);
    }

    for (var i = 0; i < rows.length; i++) {
      var row = rows[i];
      res.send(row);
    }
  })
});
app.get('/select',函数(req,res){
con.query('SELECT*FROM Contracts',函数(错误、行、字段){
如果(错误){
log(`Error:${err}`);
}
对于(变量i=0;i
您应该使用
res.write
而不是
res.send
,因为后者会终止函数(第一次使用
res.send
后不会执行任何操作)


尽量不要将您的响应包装在for循环中。将所有行累加到一个对象中并一次性发送。为什么不发送整个
数组?但是
res.write
写入到哪里?我两次都试过了,但一直都会出错。错误:发送头后无法设置头。它会写入一个匿名对象,该对象通过res.end发送给用户。该错误发生在哪一行?它会在一个不相关的模块中抛出该错误
node_modules/mysql/lib/protocol/Parser.js:80
抛出错误;//重新显示非MySQL错误
app.get('/select', function (req, res) {
    con.query('SELECT * FROM Contracts', function (err, rows, fields) {

    if (err) {
      console.log(`Error: ${err}`);
    }

    for (var i = 0; i < rows.length; i++) {
      var row = rows[i];
      res.write(row);
    }
    res.end(); //this finally sends the response
  })
});
app.get('/select', function (req, res) {
    con.query('SELECT * FROM Contracts', function (err, rows, fields) {

    if (err) {
      console.log(`Error: ${err}`);
    }

    res.send(rows);
  })
});