[英]What would happen if i send a json file using res.send instead of res.json?
[英]How can I send a json data and run a index file at the same time in res.resnder? is it even possible?
我正在尝试呈现索引页面并显示我从表中获取的数据。
但我得到一个错误
错误是“C:\Users\acer\Desktop\nodejsyt\index.js:23 if (err) throw err; ^
错误:已将握手入队后无法将握手入队。 在 Protocol._validateEnqueue (C:\Users\acer\Desktop\nodejsyt\node_modules\mysql\lib\protocol\Protocol.js:221:16) 在 Protocol._enqueue (C:\Users\acer\Desktop\nodejsyt\node_modules\ mysql\lib\protocol\Protocol.js:138:13) 在 Protocol.handshake (C:\Users\acer\Desktop\nodejsyt\node_modules\mysql\lib\protocol\Protocol.js:51:23) 在 Connection.connect (C:\Users\acer\Desktop\nodejsyt\node_modules\mysql\lib\Connection.js:116:18) 在 getallparent (C:\Users\acer\Desktop\nodejsyt\index.js:22:20) 在 C :\Users\acer\Desktop\nodejsyt\index.js:19:5 at Layer.handle [as handle_request] (C:\Users\acer\Desktop\nodejsyt\node_modules\express\lib\router\layer.js:95 :5) 在下一个 (C:\Users\acer\Desktop\nodejsyt\node_modules\express\lib\router\route.js:144:13) 在 Route.dispatch (C:\Users\acer\Desktop\nodejsyt\node_modules \express\lib\router\route.js:114:3) 在 Layer.handle [as handle_request] (C:\Users\acer\Desktop\nodejsyt\node_modules\express\lib\router\layer.js:95:5 ) { 代码:'协议 L_ENQUEUE_HANDSHAKE_TWICE',致命:假 }
Node.js v18.5.0 [nodemon] 应用程序崩溃 - 在开始之前等待文件更改......”
var hbs = require('hbs');
var path = require('path');
var express = require('express');
var app = express();
app.set('view engine', 'hbs');
//CONNECTION CONFIGURATION
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "mydb"
});
app.get('/', (req,res)=> {
getallparent();
function getallparent(){
return con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM parents", function (err, result) {
if (err) throw err;
res.render('index' , result);
});
});
};
});
app.listen(3000);```
您必须删除:
con.connect(function(err) {
启动连接查询时,它们会在后台自动连接到数据库,因此在您的情况下,您尝试同时创建 2 个连接,对您有用的是:
return connection.query("SELECT * FROM parents", function (error, results) {
if (error) throw error;
// connected!
res.render('index' , result);
});
所以我终于找到了我的问题,我做的一切都是正确的,但是当我试图在索引页面上显示发送的数据时,我显示错误(我使用 HBS“HANDLEBARS”作为我的视图模板,这是正确的方式{{firstname}}在索引页面上显示发送的数据。)
var express = require('express');
var app = express();
var mysql = require('mysql');
const router = express.Router();
app.set('view engine', 'hbs');
//CONNECTION CONFIGURATION
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "node"
});
// ALL PARENTS
app.get('/index', (req,res)=> {
return con.query("SELECT * FROM parents", function (error, results) {
if (error) throw error;
// connected!
res.render('index',results);
});
});
app.listen(3000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.