Tag: 表示

快递中可变数量的路线参数?

cex.io的RESTful API有一个有趣的路线,可变数量的参数返回给定的所有货币对。 这是如何实现的? 这里是一个伪代码types的例子,我的意思是… app.get('/pairs/:arg1/:arg2/:argn…', function(req, res, next) { // app logic });

如何只更新MongoDB数据库中的对象的一些属性

我的代码下面不允许API用户通过传递一个请求属性来更新只有一个字段。 我可以删除userObj处的null,但UI开发人员必须从数据库传递现有数据来执行更新,这不是最佳做法。 这是我的快车路线: router.put('/user', (req, res) => { const userObj = { name: req.body.name || null, location: { city: req.body.city || null }, phone: req.body.phone || null }; User.updateUser(req.body.id, userObj) }); 这里是我的Mongoose模型的updateUser函数: module.exports.updateUser = (_id, userObj, callback) => { User.findOneAndUpdate({_id}, userObj, { upsert: true, 'new': true }, callback); }

如何在nodeJS中使同步functionasynchronous

我目前正在使用一个称为XLSX的Excelparsing器库 我必须parsing大尺寸的Excel文件,问题是XLSX只支持同步的readFile请求。 所以当发出多个http请求时, XLSX读取function将阻止其他请求,使用户体验非常糟糕。 我目前使用expressJS作为我的框架。 有没有办法让functionasynchronous,而不必改变Excel阅读库? 谢谢

Node Express – “req.params.name”未定义

在我的基于Express和Node的项目中,当我访问http://localhost:3000/users/lbs ,req.params.name应该等于'lbs',但是它是未定义的。 //app.js app.use("/users/:name",username); //username.js var express = require('express'); var router = express.Router(); router.get('/', function(req, res) { res.send('user: ' + req.params.name); }); module.exports = router;

Node.js发送后不能发送标题

我试图做一个小的应用程序,为给定的用户的照片大拇指500px.com(一个照片网站)rss饲料。 我对这一切都比较陌生。 我在本地testing时看到了一个我不明白的行为。 页面首次加载罚款,但重新加载时,我得到“发送后不能发送标头”。 从这里的其他答案看来,这通常是由双重callback造成的。 我试过把一些if (err) res.send(); 在不同的地方发表声明,但似乎没有解决问题。 我也尝试重新configuration代码的结构,这似乎也没有工作。 谁能比我更有经验的人知道这里发生了什么? var express = require('express'); var router = express.Router(); var request = require('request'); var parseString = require('xml2js').parseString; const cheerio = require('cheerio'); var EventEmitter = require('events').EventEmitter; var body = new EventEmitter(); /* GET home page. */ router.get('/', function(req, res, next) { request("https://500px.com/janedoe/rss", function(error, response, data) { […]

在POST上创build的返回对象 – express.js

router.route('/vehicles') .post(function (req, res) { var vehicle = new Vehicle(); vehicle.make = req.body.make; vehicle.model = req.body.model; vehicle.color = req.body.color; vehicle.save(function (err) { if (err) { res.send(err); } res.json({message: 'Vehicle was successfully added', make: req.body.make, model: req.body.model, color: req.body.color}); }); }) 正如你可以看到添加: make: req.body.make, model: req.body.model, color: req.body.color我能够成功地返回发布的对象。 但是,这不是我所需要的,除了返回新创build的对象,我还需要返回新创build的对象的ID。 我怎样才能做到这一点?

检查variables是否为空不工作| NodeJS,Express

我正在尝试构build博客API,现在我的模式中有三个字段: const PostSchema = new Schema({ timestamp: { type: Date, default: Date.now }, title: { type: String, required: [true, "Title is required"] }, content: { type: String, required: [true, "Content is required"] } }) 我也有createPost函数,这是应该创build一个职位(没有狗屎): // Create post const createPost = (req, res, next) => { const title = req.body.title const content = req.body.content console.log('body', […]

在同一请求中进行两个方法调用

简要介绍一下我正在努力完成的工作: 在前端,用户能够使用表格编辑关于他们的账户的信息。 然后,不pipe有多less个字段被编辑/触摸,该表单都被发送到相同的HTTP请求。 我的想法是,请求会处理哪些字段进行编辑。 除了我不确定如何返回确认数据外,这种逻辑似乎对我来说很有用。 例如,如何知道所有请求何时完成/要显示哪些确认和错误消息。 //Change information route router.post('/changeinformation', passport.authenticate('jwt', {session: false}), (req, res, next) => { const changeInfo = { changeEmail: req.body.changeEmail, changeUsername: req.body.changeUsername }; if(changeInfo.changeUsername === true) { const userInfo = { email: req.body.email, currentEmail: req.body.currentEmail }; Artist.getArtistByEmail(userInfo.email, (err, user) => { if (err) throw err; if (user) { return res.json({success: false, […]

Nodejs:仅用于页面加载的中间件

我正在使用nodejs和ejs模板。 我想设置一个中间件,只有在页面加载的时候才会调用,而不是从代码发送请求。 例: app.use(function(req, res, next){ if(req.session){ console.log("OKAY"); } next(); }); 我希望这个日志只出现在页面加载,而不是当我发送像下面的代码请求 $.get( "/users", function( data ) { console.log(data); }); 我怎样才能做到这一点 ? 谢谢

如何在Node ExpressJS中返回获取请求中的随机数据?

我已经build立了一个快速路线,我想返回一个随机化的string基于给定的字符。 API / practice.js const express = require('express'); const router = express.Router(); function randomChar(charArray) { //returns random character based of character array return charArray[Math.floor(Math.random() * (charArray.length))]; } function exerciseGenerator(charArray) { //returns randomized string let string = ''; let i; for (i = 0; string.length < 100; i += 1) { string += randomChar(charArray); // insert […]