node.js - nodeJS:获取响应未在浏览器中打开-说页面不起作用
问题描述
我已经创建为 RestAPI 使用node.js
它连接 MySQL 服务器,连接成功但是当我请求 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);
})
});
当我尝试 URLlocalhost:3000/tasks
时,浏览器中没有加载任何内容。预期的输出是打开 URL 时localhost:3000/tasks
,应将数据行记录在控制台中,但 URL 本身并未打开。
解决方案
您没有调用bodyparser.json
将返回中间件以进行 req 解析的函数。您必须像下面这样包含它:
app.use(bodyParser.json());
req.json
此外,您必须通过发送数据或使用or结束请求来结束在浏览器中加载数据的请求req.end
。req
您必须像以前一样交换函数参数中的 req、res 对象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]})
})
});
推荐阅读
- excel - 使用 Excel 数据填充 Word 模板
- mysql - Sequelize Js - 如果不存在则创建新数据库
- assembly - 什么是汇编中的堆栈以及命令 .stack 是如何工作的?
- c# - 添加页脚后打开 XML 文档不可读
- python - Pandas 在 0 之前的索引
- python - NVlabs 实现 StyleGAN 显示语法错误
- java - 输入文本后如何从文本字段(密码)中检索文本
- java - 在 Spring Boot 服务中我的自定义约束验证器之前 Json 消息解析失败
- wordpress - 媒体库病毒
- angular - 订阅 Outlook 日历/事件字段中的更改