Tag: 路由

Sails.jsredirectparam

将Sails.js控制器从一个路由redirect到另一个路由并同时传输一些数据的最好方法是什么? 我的情况是,我有一条路线创build一些数据,并redirect到另一条路线。 我的问题是,我不知道如何将错误消息(如果发生)传回到其他路由(因为我想在那里显示)。 布鲁诺

根据路由中的反应将数据加载到组件中

我刚刚开始学习React,我觉得我面临着大多数初学者将面临的共同问题。 我正在构build一个非常简单的React应用程序。 我打算build立一个网站,导航和一些dynamic的内容,根据点击导航项目而变化。 但是,内容始终具有相同的布局,因此唯一需要更改的部分是显示在内容组件中的数据。 我设法build立一个工作版本,但它感觉不对,因为它没有更新内容组件。 相反,我为每个页面创build了一个从两个不同文件(data.js和data2.js)加载数据的新组件(List.js和List2.js)。 我现在想知道如何才能使用一个组件(list.js),并始终根据导航中单击的类别更新其内容。 这是我现在的代码: App.js import React, { Component } from 'react' import List from '../components/List' import Nav from '../components/Nav' import data from '../src/data/data' require ('../src/sass/App.scss'); class App extends Component { render () { return ( <div className="wrapper"> <Nav /> {this.props.children} </div> ) } } export default App routes.js import React […]

expression路由嵌套callback

我是新来的快递,部署一个快速的应用程序。 我想在每个调用API之前调用函数checkApiKey。 这里是我的API路线 var express = require('express'); var router = express.Router(); var fn = require('../webservices'); router.post('/api/signup',fn.checkApiKey, fn.signup); module.exports = router; 在这里我的webservice.js var fs = require('fs'), path = require('path'); var db = require('./conn') var models = require('./models') function signup(req, res, next){ var postData = req.body; console.log('signup called', postData); checkApiKey(req, res, function(err, done){ models.user.save(postData, function(err, saved) { […]

使用内容types:multipart / form-data不能使用express post方法

search后,所有我累了任何人都可以告诉我为什么post方法不工作,当我添加Content-Type:multipart / form-data在postman.Note中没有添加这个吸所有工作正常。 这里是我的app.js var app = express(); var apiRoutes = require('./routes/apiRoutes'); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(logger('dev')); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded([{extended: false}, {limit: '50mb'}])); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'uploads'))); app.use(multipart());; app.use(apiRoutes) 这里是我的apiRoutes.js var express = require('express'); var router = express.Router(); var fn = require('../webservices'); var multipart = require('connect-multiparty')(); router.post('/api/login', fn.test); […]

在server / app.js以外的路由中使用socket.io

您好我想在一个文件中使用socket.io而不是我的主server.js文件,我首先设置它像这样: const app = require('express')(); const http = require('http').createServer(app); const mongoose = require('mongoose'); const io = require('socket.io')(http); io.on('connection', (socket) => { console.log('a user connected'); socket.on('disconnect', () => { console.log('user disconnected'); }); }); 由于我在我的server.js文件中设置它,所以我必须监听这个文件中的事件,因此callback函数只能访问这个文件的范围。 然而,我需要在我设置的路由中的另一个文件中使用它,例如: app.use('/', home); 我已经读了这个和这个 ,都没有帮助过我。 谢谢。

Express路由将variables传递给所需的文件

我试图让所有我的控制器调用一个名为索引的文件,所以我不只是build立在一个文件中的所有快递路线。 因此我的index.js看起来像: //imports and stuff router.use('/auth', require('./auth')) router.use('/users', require('./users')) router.use('/:world_id/villages', require('./villages')) //export router 然后我有auth.js和users.js文件。 auth.js: router.route('/register') .post(function(req, res) { //register the user }) users.js: router.route('/:user_id') //GET user profile .get(function(req, res){ // Use the req.params.userId to get the user by Id }) 而这两者都适用于这两个。 访问/api/auth/register或/api/users/:user_id按预期工作。 但是,当试图去/api/{world_id}/villages这不会如预期的那样,因为world_id参数不会传递到文件处理它是villages.js villages.js: router.route('/') //GET all villages of the current world (world_id) .get(function(req, […]

基于express.js中请求参数的dynamic路由

我正在使用expressJS构build一个RESTful API,在我的控制器中,我有几个函数,如Chall_1,Chall_2,… exports.validateChall_1 = function(res) { //logic res.json(1); }; exports.validateChall_2 = function(res) { res.json(2); }; exports.validateChall_3 = function(res) { res.json(3); }; 在我的router.js我想路由URL到一个特定的函数基于challId这是一个参数在URL中 'use strict'; module.exports = function(app) { var jsvalidator = require('../controllers/jsvalidatorController'); app.route('/chall/:challId') .get(/*jsvalidator.validateChall_ + req.params.challId*/); }; 是否有可能根据challId参数直接路由到特定的函数?

Node.js module.exports护照已authentication到路由

我想分开文件中的每一组路线。 我需要在大多数路由中使用isAuthenticated来限制访问。 当我把所有的路线放在同一个文件中, 当我在auth.js和order.js中使用module.exports = isAuthenticated ,我使用var auth = require('auth.js'); 当我进入http:// localhost:3000 /命令时,我会得到'isAuthenticated is not defined'的错误,在auth.js中定义的路由只是按预期工作。 我正在使用Express.js中间件“护照本地策略”(接下来来自tutsplus的教程和从这里下载的github库)。 我的项目结构: bin/www models/auth/init.js models/auth/user.js models/auth/signup.js models/auth/login.js models/order.js views/error.pug views/index.pug views/home.pug views/layout.pug views/order.pug views/register.pug routes/order.js routes/auth.js public/stylesheets/style.css app.js db.js ./routes/auth.js: var express = require('express'); var router = express.Router(); var isAuthenticated = function (req, res, next) { // if user […]

在config / routes.js中定义的路由获取404(未find)错误

只是学习与节点的风帆,并已遇到问题,我已经创build了所有的视图和我的用户控制器,但是当我点击注册,它需要我localhost/signup和404s我。 另外,去/user , /login , /quiz都以404结束。 这是我的意见文件夹内容: – 403.ejs – 404.ejs – 500.ejs – homepage.ejs – index.ejs – layout.ejs – quiz.ejs 我的注册方法应该路由我quiz.ejs ,但只是一种rest。 这些是我的自定义路线: module.exports.routes = { // HTML Views '/': { view: 'index' }, '/quiz': { view: 'quiz' }, // Endpoints 'post /login': 'UserController.login', 'post /signup': 'UserController.signup', '/logout': 'UserController.logout', }; 这些路由引用了我的UserController.js,它们具有login , logout和signupfunction,这里是这些function,这里是我的sign upfunction: […]

Express路由 – 基于区域设置的redirect

我正在尝试为我的多语言网站设置路由。 我的目标是根据他的语言(已经被检测到)来redirect用户。 这是我目前未完成的代码: app.get('/(:lang)?', (req, res, next) => { const urlLang = req.params.lang || 'en'; // English is default const userLang = 'nl'; // Will be detected if (urlLang !== userLang) { // Wrong URL res.redirect(userLang + req.url); } else next(); }); 在这个例子中,我尝试从url( urlLang )中减去请求的语言。 如果该语言与用户语言不匹配,则应redirect到正确的URL。 我试图达到的几个例子: 用户使用语言en请求/ :不redirect 用户使用语言nl请求/ :redirect到/nl 具有语言en请求/foo/bar :无redirect 用户使用语言nl requests […]