javascript - 如何发送 JSON 数据而不是将其记录到控制台
问题描述
我正在使用 Flutter 中的食品订购应用程序和 Express.js 中的 API 以及用于数据库的 MySql。我能够连接到数据库并接收 JSON 数据和 console.log() 它们,但我不知道如何将它们发送到应用程序。任何帮助将不胜感激。
这是代码。
const express = require('express');
const router = express.Router();
const mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'ala_ainy_db',
connectionLimit: 10,
});
router.get('/', (req, res, next) => {
pool.getConnection(function (err, conn) {
if (err) return;
conn.query('SELECT * FROM restaurants', function (err, rows) {
if (err) {
conn.release();
console.log('failed');
}
rows.forEach((row) => {
console.log(`ID: ${row.id}, Name: ${row.name}`);
});
conn.release();
})
});
});
解决方案
res.json()
您可以使用 express或res.send()
方法发送您的数据作为响应。
res.json()发送 JSON 响应。此方法发送一个响应(具有正确的内容类型),该响应是使用JSON.stringify()转换为 JSON 字符串的参数。
res.send()发送 HTTP 响应。body 参数可以是 Buffer 对象、String、对象或 Array。
例子:
const express = require('express');
const router = express.Router();
const mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'ala_ainy_db',
connectionLimit: 10,
});
router.get('/', (req, res, next) => {
pool.getConnection(function (err, conn) {
if (err) return;
conn.query('SELECT * FROM restaurants', function (err, rows) {
if (err) {
conn.release();
console.log('failed');
}
conn.release();
res.status(200).json(rows);
})
});
});
推荐阅读
- python - FFT 信号的 Python 幅度
- laravel - 使用vuejs提交表单后如何清空字段并显示成功消息
- javascript - 从段落中删除锚标记,但使用 Javascript 保留文本
- php - RGB的PHP普通十六进制无法正常工作
- json - Azure DevOps powershell 任务 convertfrom-json 命令缺少一项数组
- sql - 你怎么知道一个 sql 查询返回了多少 MB?
- python - 为什么即使数据有效,Django 也不接受来自表单的数据?Django-蟒蛇
- php - PHP 5.3 中的 MethodNotFound 行为
- javascript - 如何将 Python Flask 路由上的字符串发送到 JS 函数?
- javascript - 当当前焦点元素从 DOM 中移除时,如何挽救焦点?