Tag: 表示

“发送后不能设置标题”和空邮件请求主体

我一直在关注login/注册身份validation应用程序的教程。 每当我发送POST请求时,我总是收到错误“发送后无法设置标题”。 我试图console.log请求正文,它是空的。 我不知道我做错了什么。 请帮忙。 users.js var express = require('express'); var router = express.Router(); var User = require('../models/User') /* GET users listing. */ router.get('/', function(req, res, next) { res.send('respond with a resource'); }); router.get('/register', function(req, res, next) { res.render('register', {title:'Register'}); }); router.get('/login', function(req, res, next) { res.render('login', {title: 'Login'}) }); router.post('/register', function(req, res, next) { […]

无法传递mongoose数据来查看翡翠

我怎样才能把我的数据传递给视图,我使用“mongoose-simple-random”从我的数据库中select5个随机食物,我想把它们传给我的Jade代码,但是我不知道怎么样帮助我,这是我的代码: 玉器almuerzo.jade extends layout block takami .container-fluid .row .col-md-12 h3 Guardar almuerzo form(method="post", action="/almuerzo") fieldset.form-group label(for='nombre') Nombre de Comida input#nombre.form-control(type='text', placeholder='Nombre', name='nombre') fieldset.form-group label(for='tipo') Tipo de comida input#tipo.form-control(type='text', placeholder='tipo de comida', name='tipo') button.btn.btn-primary(type='submit') Submit .container-fluid .row .row .col-md-12 h3 Menu de Almuerzos .row .col-md-2 h3 Lunes h4 Comida ul.list-group each almuer in almuerzovar li.list-group-item = […]

Async / Await – Typescript和ExpressJs

我正在用打字稿的async / await快速体验。 我有下面的代码片断,它不会产生任何结果,它只是等待承诺永远不会结束。 任何想法如何使其工作。 .. router.get('/test', this.test); .. private async test(req: Request, res: Response) { const result = await this.test2(); res.json(result); } private async test2() { return await this.test3(); } private test3() { return new Promise((resolve) => { resolve({ "working": true }) }); } 更新: 如果我改变第一行与下面的行,它的作品。 任何想法为什么? router.get('/test', (req,res)=>this.test(req,res)); update2(固定) – 基于@smnbbrv答案下面 private test […]

节点/expression强制浏览器下载具有自定义名称的文件

我为我的大学项目build立了一个节点/快递网站,在search到一个法律ID后,它会显示一个大表格,其中包含与此ID相关的所有文件格式和语言。 我使用模块“ http-proxy ”向客户端请求并提供这些文件。 当提供XML,XHTML,HTML和PDF文件(每个浏览器都能够直接查看它们)时没有任何错误。 我有.zip和.rdf文件的问题。 文件没有损坏,但他们失去了原来的名字 当我点击ZIP图标,它给我的下载提示,但我失去了原来的文件名(该文件将被称为“代理”或“proxy.zip”,在不同的浏览器上的不同行为) 当我点击RDF图标时,一些浏览器直接在浏览器中打开文件,一些浏览器不会识别格式,一些浏览器想用名称“proxy”来下载它) 所以我发现标签“a”的HTML5属性“下载”。 它只是解决了我的问题,无论如何它不支持每个版本的Internet Explorer和Safari。 浏览网页时,我发现一些解决方法,当在IE或Safari浏览器中查看页面时,在div链接之后添加“右键单击并另存为…”,但此解决scheme不适用于我,因为我不是在谈论单个链接,但一个表格链接。 而我的网站也需要在手机上工作。 有什么办法来写一些服务器端的代码来强制浏览器下载文件的自定义文件名? 这是代理的一小段代码: var httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer({ ignorePath: true }); app.get('/proxy', function(req , res) { var file = req.query.file; var realurl = 'http://'+cfg.edb_opt.host+':'+cfg.edb_opt.port+cfg.edb_opt.rest+file; console.log('Proxy: serving '+realurl); proxy.web(req, res, { 'target': realurl }); }); 所有cfg *variables都来自jsonconfiguration文件,以设置包含文件的主机,端口和起始path。 提前致谢 :)

令牌是无效的或无效的状态令牌提供

所以我遇到了一个我怀疑我不应该有的问题,并尝试了几件事,我似乎陷入了僵局。 我正在尝试将LinkedInlogin与Stormpath集成在一起,看起来帐户被创build,技术上用户login后,应用程序确实返回了两个错误之一:“令牌无效”或“提供的无效状态令牌”。 我检查了我的身份证和秘密多次和授权的callbackurl等,但我不知道还有其他地方要检查,一些帮助将不胜感激。 为了进一步尝试,我做了事实上克隆https://github.com/stormpath/stormpath-express-react-example并运行它,一切工作正常,但LinkedInlogin这个应用程序不起作用,所以我怀疑它不是我的代码(也许,经过多年的编码,我从来没有真正的舒适,说它不是我的代码,但你有它)。 我附上了一些事情的截图,以防我现在非常疲倦的眼睛失去了一些东西。 有人可以指出我的错误吗?

在Node.js中加载SSL的证书和私钥

对不起,但我没有证书和SSL的经验,特别是在Node.js。 我需要configurationexpress 选项 : var https = require('https'); var options = { key: fs.readFileSync('key.pem'), cert: fs.readFileSync('csr.pem') }; https.createServer(options, my_app).listen(3000); 如果我尝试用自己生成的证书(通过openssl )所有的作品就像一个魅力。 现在,我需要更改自己生成的证书与我的域的真实证书。 在Plesk我有3个证书:一个CSR ,一个私钥( .key)和一个文本格式的证书(.crt) ,并且这个证书已经在我的服务器的Pleskconfiguration上工作,所以他们没问题。 那么,我现在需要做什么? 哪个是key.pem ,哪个是csr.pem ? 对不起,但我不知道,有谁能解释我吗?

在Stormpath的注册页面上进行社交login

我真的希望这是我在Stormpath API上的最后一个问题。 从C#和PHP切换到节点已经有些挑战了。 我正试图在注册页面上实现社交login。 预构build选项仅将其放置在login页面上。 渲染页面并向Jade视图添加元素很简单,但我需要获得一个oauthStateToken。 现在我看看login.js代码是如何实现的: var oauth = require('../oauth'); var oauthStateToken = oauth.common.resolveStateToken(req, res); var formActionUri = (config.web.login.uri + (nextUri ? ('?next=' + nextUri) : '')); var hasSocialProviders = _.some(config.web.social, function (socialProvider) { return socialProvider.enabled; }); extend(options, { form: form, formActionUri: formActionUri, oauthStateToken: oauthStateToken, hasSocialProviders: hasSocialProviders }); 所以本质上它调用誓约文件,并通过代码,理论上,我可以做一些类似的register.js – 本质上(只是示例代码): var oauth = […]

将JSON传递给Jade,并使用相同的数据进行API访问

我有以下代码作为模式模块: router.get('/', function(req, res) { Module.find(function (err, modules) { if (!err) { return res.json(modules); } else { res.statusCode = 500; log.error('Internal error(%d): %s', res.statusCode, err.message); return res.json({ error: 'Server error' }); } }); }); 这对我的API工作正常,但我也试图使用这些数据加载到我的Jade模板。 var modules = require('./routes/modules'); // home page app.get('/', function(req, res) { res.render('index', { modules: modules }) }); app.use('/api/modules', modules); 但是这只是不起作用,它使我不确定,就好像它不存在(当logging)。 […]

节点JS – 构造一个OAuth2请求

我试图构build一个OAuth2请求的框API。 他们给出的示例POST请求作为指导对我来说有点模糊,因为我最近学习了后端开发。 示例如下: POST /token Content-Type: application/x-www-form-urlencoded grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer& assertion=<JWT>& client_id=<client_id>& client_secret=<client_secret> 官方文档: https : //box-content.readme.io/docs/app-auth 我试图做到这一点的方式如下: var boxHeaders = { 'Content-Type': 'application/x-www-form-urlencoded' }; var boxOptions = { url: 'https://api.box.com/oauth2/token', method: 'POST', headers: boxHeaders, form: { 'grant_type': 'urn:ietf:params:oauth:grant-type:jwt-bearer', 'assertion': boxtoken, 'client_id': 'myclientid', 'client_secret': 'myclientsecret' } }; request.post(boxOptions, function(err, response, body) { console.log(body); }); 我得到以下错误: { "error":"invalid_request", […]

服务器端未定义的renderProps / React / React-Router + Node / Express.js的同构渲染

我试图得到服务器端/同构渲染工作的反应应用程序与反应路由器一致。 我的route.js : import React from 'react'; import { Route } from 'react-router'; import Test from './components/test'; export default ( <Route path="/test" component={ Test }> </Route> ); 我的server.js : 'use strict'; require('babel-core/register') var path = require('path'); var express = require('express'); var logger = require('morgan'); var compression = require('compression'); var http = require('http'); var ReactDOM = […]