当前位置: 首页 > 知识库问答 >
问题:

无法使您的两个或多个方法在同一路由中

王弘和
2023-03-14

到项目的链接https://github.com/kammikazy/project i can't make work my get two or more methods in same route我有代码404 i使用mysql nodejs和express my code
控制器联盟

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)

模型异形

常量find=(连接,用户名)=>;{返回新承诺((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(result)}})})}

    module.exports = {
        find
    }

青玉联盟

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')
}
})

我做错了什么我找不到解决问题的办法

共有2个答案

微生景胜
2023-03-14

我问题的解决方法

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, next) => {
        //Do something here and to add data to your request use
      controllerAdmin.findcidade3(connection, req, res)
        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`
      controlleruser.findAlianca(connection, req, res)
    })
   module.exports = app => app.use('/', router)
乜建柏
2023-03-14

不确定您在询问什么,但是,如果您想在同一个路由/API中调用多个函数,可以执行以下操作:

使用ExpressJ,您可以使用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);
    }
});
 类似资料:
  • 问题内容: 我无法使用Flask在同一应用程序中成功使用Python请求调用第二条路由。我知道最好的做法是直接调用该函数,但是我需要它使用请求使用URL进行调用。例如: 问题答案: 您的代码假定您的应用程序可以一次处理多个请求:初始请求,以及在处理初始请求时生成的请求。 如果您正在运行像这样的开发服务器,则默认情况下,它在一个线程中运行;因此,它一次只能处理一个请求。 用于在开发服务器中启用多个线

  • 我试图通过一个示例来启动spring boot Hello World REST DSL camel应用程序。当我试图通过spring boot启动该应用程序时,我收到以下异常: 我的应用程序代码 POM:

  • 问题内容: 在Bruce Eckel的“ Thinking In Java,第四版”的第428页(有关类型信息的章节)中,具有以下示例: 也许我有点累,但是我看不到add()方法中对add()的调用是如何工作的。我一直认为它应该有一个引用,或者是一个静态方法(并且我在ArrayList或List中找不到静态add())。我想念什么? 我只是为自己测试,发现这可行: 问题答案: Java为这样的方法

  • 本文向大家介绍Python中将两个或多个list合成一个list的方法小结,包括了Python中将两个或多个list合成一个list的方法小结的使用技巧和注意事项,需要的朋友参考一下 python中,list这种数据结构很常用到,如果两个或者多个list结构相同,内容类型相同,我们通常会将两个或者多个list合并成一个,这样我们再循环遍历的时候就可以一次性处理掉了。所以如何将两个或者多个list合

  • 编写一个名为season的方法,该方法使用两个整数作为代表月份和日期的参数,并返回一个字符串,指示该月份和日期的季节。假设月份被指定为1到12之间的整数(1代表一月,2代表二月,依此类推),并且月份的日期是1到31之间的数字。 如果日期落在12/16和3/15之间,你应该返回“冬天”。如果日期落在3/16和6/15之间,则应返回“spring”。如果日期介于6/16和9/15之间,则应返回“sum

  • 问题内容: 我有两个路线组,“动漫”和“漫画”。这些URL是/ anime/或/manga/,但它们都共享完全相同的控制器和模板 (唯一不同的是用于每个模板的配色方案,但这些颜色是在检查是否通过过滤器的过滤器中确定的)正在查看的特定项目是动漫还是漫画) : 动漫陈述定义: 漫画状态定义: 如您所见,其中已经有很多重复,我一点都不喜欢。随着我不断添加新路线,重复次数只会增加 (您已经可以看到mang

  • 假设我们有两个类A、B和各自类的同步方法methodA、methodB。如果我们从synchronizedmethodA调用synchronized methodB,那么当methodB仍在执行时,线程是否仍对ObjectA保持锁定?