nodeJS:获取响应未在浏览器中打开 - 表示页面无法正常工作

nodeJS : get response is not opening in browser - says page isnt working

我使用连接 MySQL 服务器的 node.js 创建了 RestAPI,连接成功,但是当我请求 URL 时,浏览器继续加载并显示 this page is not working

const mysql = require('mysql');
const express = require('express');
const bodyparser = require('body-parser');

var app = express();
app.use(bodyparser.json)
var mySqlConnection = mysql.createConnection({
host :'db4free.net',
user:'username',
password:'password',
database:'db'

});

mySqlConnection.connect((err)=>{
if(!err)
console.log('success');
else
console.log('failed' +JSON.stringify(err,undefined,2));
});


app.listen(3000,()=>console.log('Express server is running at port 
3000'));

app.get('/tasks',(res,req)=>{
mySqlConnection.query('SELECT * FROM tasks',(err,rows,fields)=>{
 if(!err)
 console.log(rows[0]);
 else
 console.log(err);
})
});

当我尝试 URL localhost:3000/tasks 时,浏览器中没有加载任何内容。预期的输出是在打开 URL localhost:3000/tasks 时,数据行应该记录在控制台中,但是 URL 本身没有打开。

您没有调用 bodyparser.json 函数,该函数将 return 用于您的请求解析的中间件。您必须像下面这样包含它:

app.use(bodyParser.json());

此外,您必须通过发送数据或使用 req.jsonreq.end 结束请求来结束在浏览器中加载数据的请求。您必须交换函数参数中的 req、res 对象,因为 req 出现在 res.

之前
app.get('/tasks',(req, res)=>{
    console.log('fefefe')
    mySqlConnection.query('SELECT * FROM tasks',(err,rows,fields)=>{
        if(!err)
            console.log(rows[0]);
        else
            console.log(err);
        res.send({d: rows[0]})
    })
});