Articles of express

RESTful API中复杂POST参数的可能格式是什么?

我正在使用node.js + express开发一个应用程序,其中包含一个允许用户订阅项目列表的结构。 每个列表订阅涉及诸如每个项目的最低分数和列表中的前N个项目之类的选项,并且订阅可被组织成与整个订阅列表模式中的特定排名相关的数字分组。 多个订阅可以在一个等级,允许关系,而其他人可能排名较高或较低。 我目前的问题是,我提供了一个界面来pipe理这些列表订阅和他们的选项,虽然我可以想到几个UI的可能性,我有点难住关于提交结果回我的服务器的最佳格式。 以JSON表示,这就是我将要处理的内容: [ [ {"list_id":1,"min_score":0,"limit":500} ], [ {"list_id":12,"min_score":5,"limit":-1}, {"list_id":16,"min_score":5,"limit":-1} ], [ {"list_id":2,"min_score":0,"limit":-1} ] ] 我试图简单地编码该JSON并将其作为单个参数进行发布,但这听起来有些诡异。 我试图保持我的API尽可能开放和一致,以允许其他客户端。

$(document).ready(…)不会被调用

我有以下ejs模板 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Emasc Editor</title> <style> .list{ display: inline-block; } </style> <script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script> <script type="text/javscript"> $(document).ready(function(){ alert('test'); $("#setMembershipsButton").click(function(e){ // send selected person and groups to server and create memberships data = { person: $('#person_list').val(), groups: $('#group_list').val() }; $.post('/newConnections', data); }); $("#person_list").change(function(){ alert('test'); // send selected person to server and retrieve […]

node.js模块ntwitter不工作

我已经尝试使用ntwitter node.js模块。我已阅读所有说明并键入示例代码,但它不工作。代码如下所示: var twit = new twitter({ consumer_key: 'XXXXXXXXXXXXXXXXXXX', consumer_secret: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', access_token_key: 'https://api.twitter.com/oauth/request_token', access_token_secret: 'https://api.twitter.com/oauth/access_token' }); twit.stream('user', {track:'nodejs'},function(stream) { console.log('stream==========================',stream); stream.on('data', function (data) { console.log('=============================================',data); }); }); stream的console.log显示如下所示: stream========================== { buffer: '', destroy: [Function], _events: { _data: [Function: processTweet] } } 但数据console.log不显示任何东西。我卡住,不知道该怎么做。任何人都可以帮忙。

使用Express(node.js)dynamic限制上传文件大小

我正在开发一个简单的应用程序,允许用户上传他们的内容。 我想限制Express将接受的文件大小。 我知道我可以使用 app.use(express.limit('2mb')); 但我想dynamic地改变极限 。 某些用户将有更高的限制。 最好的解决scheme是先检查content-length标题,然后在文件大小低于限制的情况下开始parsing上传,但是Express会自动将file upload到磁盘(/ tmp目录)。 所以如果有人发送1GB的文件,这个文件将被parsing并保存到磁盘,即使我不想这样做。 提前致谢!

nodejs / express:如何POST数据的外部表单?

如何在使用nodejs和expressjs在另一个网站上的外部公用表单上创build一个string并将其发送到表单后的数据? 我无法find一个简单的示例或文档,只是继续find如何处理和parsingPOST自己的应用程序中的表单。

socket.io会话ID和快速会话

我正在使用socket.io创build一个应用程序,我的问题是当用户在同一个浏览器中打开多个选项卡时,它将创build新的会话ID [socket.id]。 我如何在所有的选项卡中携带相同的会话ID? 我在这篇文章danielbaulig中使用了快速会话,但是这些文章如何帮助我在浏览器中的所有选项卡上携带相同的socket.io会话ID? 而上述职位已过时,你能解决这些问题吗? 谢谢..

有没有更好的方法来处理Node.js / Expressjs中的嵌套callback?

我使用Node.js和Expressjs作为服务器端编码,MongoDB作为后端。 我是所有这些技术的新手。 我需要根据请求做一个动作列表。 例如在用户pipe理中 检查用户已经注册 如果注册重新发送激活电子邮件 如果没有注册,则从另一个表中获取userId,这将维护用户,资产等的ID。[我知道MongoDB提供独特的_id; 但我需要有一个唯一的整数ID为userId] 创build用户 发送成功或失败的回应。 为了实现这个我写了下面的代码: exports.register = function(req,res,state,_this,callback) { switch(state) { case 1: //check user already registered or not _this.checkUser(req, res, ( state + 1 ), _this, _this.register, callback); break; case 2: //Already registered user so resend the activation email _this.resendEmail(req, res, 200, _this, _this.register, callback); break; case 3: […]

Node.js / Express:防止直接从URL加载AJAX HTML片段

我正在用Node.js,Express和MongoDB构build博客。 在主页上我有一个button来加载更多的职位。 这工作正常,我用下面的代码完成它: jQuery的 $("#load-more-posts").click(function() { $.ajax({ url: '/load/posts/', type: 'get', dataType: 'html', success: function(data) { $("#primary").append(data); }, data: {"passLastDate": lastDate} }); return false; }); 这是app.js中的路线 app.get("/load/posts", routes.loadPosts); 这里是观点: loadPosts: function(req, res) { var lastDate; lastDate = req.query.passLastDate; return Post.find({ "published": true, "publish_date": { $lt: lastDate } }).sort('-publish_date').limit(1).execFind(function(err, posts) { if (posts === []) { […]

Backbone.js视图使用从Node.js(Express.js)注入的模板

据我所知,如果你想一起使用backbone.js和node.js,你通常使用node.js(express.js particulary)作为后端API提供者(加上其他的function,比如persistance,等等),而backbone.js是前端的引擎,也就是说,提供了html模板,视图,模型等。 我在互联网和github上看到的主干项目,通常以一个index.html开头,直接执行一个javascript文件,像路由,集合,视图等实例化“类”。前端的视图负责监视html和css模板并自行pipe理视图,如事件等 当我看到像backbone.iobind( https://github.com/logicalparadox/backbone.iobind )这样的项目时,会出现这个问题,它使用了一个非常特殊的configuration,我真的不知道它是如何工作的。 如果您看到源代码,那么node.js服务器不仅是API的责任,而且是为了监视将由Backbone使用的html模板。 我有很多疑问: 谁执行骨干前端,因为没有“索引”,执行JavaScript,执行路由器,视图,集合和历史? 你如何同步express.js的inyected模板,以及backbone.js端的视图是否要使用它们? 这是什么目的backbone.js路由器类,因为你使用node.js路由器的东西? 为什么你使用这个架构,而不是像我之前描述的那样更干净? 非常感谢你的帮助

如何在主干和快车中保持安静的路线?

如何在我的应用程序中保护我的快速“GET”路线,以便电子邮件和用户数据不会暴露给未经授权的客户端。 我想知道,我应该像密码那样对所有字段进行哈希处理? 我的GET“/用户”路线发送这样的JSON .. { "name": "keven", "email": "keveng@gmail.com", "user": "keven", "password": "EEOnGFritH1631671dc8da7431399f824b3925a49e", "country": "America", "date": "April 20th 2013, 10:34:22 pm", "_id": "5173502e5g52676c1b000001" } 在我的骨干和节点/expression应用程序,我有我的骨干收集url,像这样.. Users = Backbone.Collection.extend({ model: User, url: '/users', }); 而高速路线是这样的: app.get('/users', function(req, res){ User.find({}, function (err, accounts) { res.send(accounts); }); }); 谢谢。