Articles of 表示

passportjs – 来自节点的发布请求不authentication用户

我有以下的ajax后,这是完美的passportjs工作。 $(document).ready(function(){ $('#btn-login').click(function() { var email = $('#loginEmail').val(); var password = $('#loginPassword').val(); var emailValidation = new RegExp(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([az]{2,6}(?:\.[az]{2})?)$/i); if(!email | !password) { $('#loginLabel').text('Email and password are required.'); } else if(!emailValidation.test(email)) { $('#loginLabel').text('Email format is invalid.'); } else { var userData = { username: email, password: password }; var request = $.ajax({ type: 'POST', url: '/login', data: […]

通过使用body parser,node js的POST方法将一个variables从HTML表单传递到mongodb查询中

我从html表单发送数据,以在mongodb查找查询中使用它,但是当在查询中使用它时,它将searchvariables名称而不是其中的值存储。 app.post('/love',function(req, res){ var article = new Article(); article.headers.Subject = req.body.title; var x = "article.headers.Subject"; console.log(x); var query = Article.find({'header.Subject': {$regex: 'x'}}).limit(2); query.exec(function(err, articles){ if(err){ console.log(err); }else{ res.render('index.html',{ title: 'author', articles:articles }); } }); return; }) 尝试所有的查询选项,如: .find('headers.Subject' : /x/i) .find('headers.Subject': 'x') 我已经打印x和它的价值,但是当它发现查询它只是寻找字母“x”。 模型结构: var ArticleSchema = mongoose.Schema({ body: 'String', subFolder: 'String', headers:{ Subject: 'String', […]

MongoDB-Express :: ENOTDIR:不是目录,… gssapi.js / package.json

我在express-js项目中使用了mongodb 。 我想在vs code运行服务器,但它与npm包抛出错误。 它适用于Webstorm和command-line 。 Error: ENOTDIR: not a directory, stat '/home/user/Workspace/Project1/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/auth/gssapi.js/package.json' at Error (native) at fs.existsSync (fs.js:219:13) at find_package_json ('/home/user/Workspace/Project1/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/require_optional/index.js:13:9) at require_optional ('/home/user/Workspace/Project1/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/require_optional/index.js:37:18) at Object.<anonymous> ('/home/user/Workspace/Project1/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/auth/gssapi.js:27:14) at Module._compile (module.js:410:26) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) 我已经尝试多次安装软件包,并更新npm本身,但无法修复它。 有人可以请build议如何解决这个问题? 谢谢。 这是我的package.json文件。 { "name": "Project 1", "version": "1.0.0", "description": "Project […]

发送后无法设置标题。 Nodejs /用axiosexpression

我看到这个错误,更多的是想知道如何解决这个问题。 我需要能够输出数据作为JSON对象。 无论如何要解决这个问题。 我基本上是从教程复制和粘贴,并不知道为什么我得到它在这里,除了深层请求电话可能吗? 这是错误: Error: Can't set headers after they are sent. [0] at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:344:11) [0] at ServerResponse.header (C:\Users\Amazo\Thrifa\moovr\node_modules\keystone\node_modules\express\lib\response.js:730:10) [0] at ServerResponse.send (C:\Users\Amazo\Thrifa\moovr\node_modules\keystone\node_modules\express\lib\response.js:170:12) [0] at ServerResponse.json (C:\Users\Amazo\Thrifa\moovr\node_modules\keystone\node_modules\express\lib\response.js:256:15) [0] at C:/Users/Amazo/Thrifa/moovr/src/server/API/routes/offers.js:28:21 [0] at Promise.<anonymous> (C:/Users/Amazo/Thrifa/moovr/src/server/API/controllers/store/OfferController.js:25:7) [0] at Promise.<anonymous> (C:\Users\Amazo\Thrifa\moovr\node_modules\keystone\node_modules\mongoose\node_modules\mpromise\lib\promise.js:177:8) [0] at emitOne (events.js:77:13) [0] at Promise.emit (events.js:169:7) [0] at Promise.emit (C:\Users\Amazo\Thrifa\moovr\node_modules\keystone\node_modules\mongoose\node_modules\mpromise\lib\promise.js:84:38) [0] at Promise.fulfill […]

ExpressJS + jsdom – 范围问题

我有一个expressJS web应用程序与路线设置。 我也有几个函数存在于jsdom环境中,因为我想利用各种jquery函数。 我遇到的问题是我需要在expressJS作用域级别的jsdom中调用一个函数。 我真的希望这是可能的,因为这将大大简化我的生活。 例如: // express app.get('/someRoute', function(request, response){ myFunction( request.data, function( getResponse ){ response.status( 200 ).send( getResponse ); } }) //jsdom jsdom.env('html', function(err, window) { ….. myFunction( a, callback ){ // <some jquery-only feature that I need> callback(a); } })

如何使用一个局部variables的值代替HandleBarjs中的其他variables

我正在面对和处理酒吧问题。 我已经创build了两个局部variables与语言的名称,并对应的两个Json文件的path。 app.locals.en=require('../locales/en.json'); app.locals.de=require('../locales/de.json'); 我正在检测URL中的de或en并存储到另一个局部variables调用“Lang” app.locals.lang = "Some code that detects DE or EN from URL and Stores into lang" 现在在Handlebrsjs我正在使用类似的东西 <h1>{{lang.Home.TITLE}}</h1> 上面的Lang应该给De或者它给的EN,但是它不会去Json文件,但是如果我们简单地使用 <h1>{{en.Home.TITLE}}</h1> 它工作正常。 我想用lang.home.title代替en.home.title,因为lang也有相同的值。 但它不适用于lang.home.title 必须有一些办法来解决这个问题。 请告诉我。 谢谢。

使用Socket.io刷新页面上的数据而无需重新加载

我试图做一个实时的应用程序,我发布了一个存储在数据库中的消息,然后该消息必须显示在同一页面上,而不刷新页面refreshH。 我的日志说,我的套接字的连接工作,但我发送消息后,页面自动刷新。 这是我的控制器,我在这里工作: postPublicacion : function(req,res,next){ var currentdate = new Date(); var datetime = currentdate.getFullYear() + "-" + currentdate.getDate() + "-" + (currentdate.getMonth()+1) + " " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds(); console.log(datetime); var publicacion = { id_user : 1, publicacion : req.body.post, imagen : null, fecha_pub : datetime }; var […]

Express正在发送一个对象,里面有一个对象

我有一个连接到Mongoose数据库的Express服务器(我的术语可能不正确,因为我刚开始学习Express)。 当我访问一个/pipe理员(路线?)我收到一个对象与我的JSON对象里面。 我发错了吗? var userSchema = new Schema({ firstName: {type: String, trim: true}, lastName: {type: String, trim: true}, classYear: Number, email: {type: String, unique: true, sparse: true, trim: true}, phone: {type: String, unique: true, sparse: true}, phoneProvider: {type: String, trim: true}, isAdmin: {type: Boolean, index: true}, isSuperAdmin: {type: Boolean, index: true}, hash: String, companyName: {type: […]

函数中的Mongoose查询承诺让代码变得丑陋

我正在创build我的用户API,我想检查用户名是否被使用。 所以我写了一个静态函数 static findByName(name) { const query = User.where({ username: name, }); query.findOne((queryErr, user) => { if (queryErr) { console.log(queryErr); return false; } return user; }); } 当我在signUp中调用它 signup(req, res) { if (!req.body.username || !req.body.password || !req.body.email) { return res.status(400).json({ success: false, message: 'Bad Request' }); } if (!Users.findByName(req.body.username)) { return res.status(409).json({ success: false, message: […]

Node.Js部分数据

我想在我的Node.Js应用程序的所有视图中都可以访问一些默认数据。 我的数据需要在/views/layout/header.ejs └── views ├── index.ejs └── layout ├── footer.ejs └── header.ejs