mysql - 不能在同一条路线上使用两种或多种方法
问题描述
项目链接
https://github.com/Kammikazy/project
我无法在同一条路线上获得两个或更多方法我有代码 404 我使用 mysql nodejs 并表达我的代码
控制器联盟
const User = require('../models/Alliances')
const findAlianca = async (connection, req, res) => {
const Allianca = await User.find(connection, req.session.user.username)
if (!Allianca) {
res.status(404).send('Nenhuma cidade encontrada.');
return;
}
console.log("dddd");
req.session.Allianca = Allianca
res.locals.Allianca = Allianca
res.render('Administration/Alliances')
}
module.exports = {
findAlianca
}
路线联盟
const express = require('express')
const router = express.Router()
const connection = require('../../Config/database')
const controllerAdmin = require('../../controllers/Administration')
const controlleruser = require('../../controllers/Alliances')
router.get('/Administration/Alliances', (req, res) => controllerAdmin.findcidade3(connection, req, res))
router.get('/Administration/Alliances/limitado', (req, res) => controlleruser.findAlianca(connection, req, res))
module.exports = app => app.use('/', router)
模特联盟
const find = (connection,username) => { return new Promise((resolve, reject) => { connection.query( SELECT alianca.nome,alianca.N_membros,alianca.TAG FROM user INNER JOIN alianca ON user.cod_alianca=alianca.id WHERE user.username='${username}'
, (err, result) => { if(err){ reject(err) }else{ resolve(结果) } }) }) }
module.exports = {
find
}
联盟.jade
extends layout
block title
.col-xs-6.col-xs-offset-3.col-sm-6.col-sm-offset-3
.col-sm-4(style='width:76%')
div.panel.panel-primary(style='height:50px') Alliances Page
div.panel.panel-primary(style='height:700px') fdssdklfsdklfjskldfjkldsjfl
if locals.user.cod_alianca==null
p You Dont Have Alliances
else
br
span Your Aliance
span= locals.Allianca.nome
.col-xs-2.panel-red(style='width:24%;height:100%;text-align:center')
我的应用
require('./routes/Administration/Alliances')(app)
我的连接数据库
const mysql = require('mysql')
const config = require( "./config.json" )
const connection =mysql.createConnection({
host:config.host,
user:config.user,
password:config.password,
database:config.database,
// port:config.port
});
connection.connect((err) =>{
if(err){
console.log(err)
process.exit(0)
}else{
console.log('database on')
}
})
我做错了什么我找不到我的问题的解决方案
解决方案
不确定您在问什么,但是如果您想在同一路由/API 中调用多个函数,您可以执行以下操作:
使用 expressJs,您可以使用next
如下功能:
app.get('/Administration/Alliances', (req, res, next) => {
//Do something here and to add data to your request use
req.body.newData = 'newData';
//after this just call next function
next();
}, (req, res, next) => {
//Can continue this cycle of calling next function until last `sendResponse` function is reached.
//Can even set `error` in request for `sendResponse`
req.error = "Some error";
next();
}, (req, res) => {
if(req.error) {
res.status(400).send(req.error);
} else {
res.status(200).send(req.body.result);
}
});
推荐阅读
- sql - 如何从包含将要更新的基表中的数据的连接表中获取数据?
- html - 在 CSS 中动态格式化样式
- sql - 使用数据样式 NULL 转换为 int
- memory-management - 在 Linux、windows 和 OX 中绕过内存管理系统
- java - 在 CodeDeploy 中访问 CodeBuild 运行时
- python - 有没有办法将会话从 python 传输到浏览器?
- javascript - 获取错误在控制台中提供了比在 catch 方法中更多的错误信息
- javascript - 使用钩子(setState,useEffect)从屏幕中提取重复代码的最佳方法?
- scala - 通过 slick codegen 导入从另一个项目构建的依赖项时,“对象不是包的成员”
- python - 如何在 pytest 会话结束时清理资源?