Tag: 连接

使用connect.query()查询nodejs中的url

您好,我有一个格式的url > http://127.0.0.1:3000/sss?AP=API&SE=AU 我曾经按照下面的代码来查询 var data=req.query[AP] 但现在我的url是 > http://127.0.0.1:3000/sss/API/AU 我被困在如何查询这些数据。任何关于这方面的帮助将是非常有帮助的。

NodeJS与连接busboy错误,“TypeError:不能调用方法”的未定义“

我有这段代码: router.route("/post") .get(function(req, res) { … }) .post(authReq, function(req, res) { … // Get uploaded file var fstream req.pipe(req.busboy) req.busboy.on('file', function (fieldname, file, filename, encoding, mimetype) { … var fileSuffix = mimetype.split("/")[1] // Get suffix, may not always be correct var tmpFileName = postCount + "." + fileSuffix var tmpFileURL = __dirname + "/tmp/" + […]

expressJS请求对象

我正在尝试通过expressJS教程 。 这是我的服务器代码: var express = require('express'); var app = require('express').createServer(); app.use(express.bodyParser()); app.post('/', function(request, response) { console.log('Inside the post request!'); console.log(request); response.send(resquest.body); }); app.listen(3000); 这里是我正在模拟的POST请求: $.ajax({ url: 'http://localhost:3000', type: 'POST', datatype: 'json', data: {hello: 1}, success: function () { console.log('Success!'); }, error: function () { console.log('Error!'); } }); 问题是request对象似乎不包含data: {hello: 1} 。 相反,它是一个混乱的引擎盖参数。 我在做一些愚蠢的事情吗?

如何在交叉源请求中保留会话数据?

我是使用Express和Connect的新手,所以我希望我做一些简单的解决scheme愚蠢的东西… 基本上,我有一个用户使用Personalogin的页面。 为了validation身份validation尝试,我使用express-persona 。 假设这个模块将用户的validation邮件地址保存在一个会话variables(req.session.email,默认)中。 现在,login后,用户可以发表评论,这个评论将与用户login的电子邮件地址一起保存。当服务表单的服务器与处理发表评论的服务器相同时,这工作正常。 然而,当它们不同时(比如说用户填写http://localhost:8001的表单,而浏览器则发送一个POST请求到http://localhost:8000这个应该保存注释),所有的突然req.session.email值是undefined 。 我认为我正确设置了跨源资源共享。 表单是这样发送的(使用jQuery): $.ajax('http://localhost:8000/post/comment', { data: {comment: $('#commentField').val()}, type: 'POST', xhrFields: {withCredentials: true} } ); (注意xhrField: {withCredentials: true} – 会话cookie被传递,我通过检查networking请求来validation。) 服务器设置(我认为)正确的CORS标题: res.header('Access-Control-Allow-Origin', 'http://localhost:8001'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); res.header('Access-Control-Allow-Credentials', 'true'); 当我添加console.log(req.cookie) ,我看到sessionId cookie与POST请求一起发送的值相同。 但是: console.log(req.session.email)显示undefined的跨源请求 – 再一次,当请求来自同一个来源时,它工作正常。 我究竟做错了什么?

如何捕捉一个nodejs连接静态404错误?

我使用nodeJS和senchalab的连接中间件(不expression!!)。 我需要捕捉静态错误(如404)。 我如何得到这些? 我试图检查源,但我找不到一个方法来传递一个error handling程序connect.static。 这里是我必须使用的一般结构的要点: https://gist.github.com/2397415

在expressJS中捕获所有无效的URL也捕获静态或公共文件

我使用expressJs 3.x和节点0.8.8。 在我的应用程序,我试图赶上所有无效的url。 所以我添加了下面的代码。 它工作正常,它也捕捉的url,如果我试图访问公共或静态文件。 app.all('/*', function(req, res){ \\ Do some action like redirecting or whatever … }); 如何避免或传递静态文件夹文件(GET请求)以及如何只捕获无效的URL?

传递res.end()作为callback不起作用的Nodejs

你好我正在使用连接,并有: var app = connect() .use(connect.static(directory)) .use(function(req,res) { switch (req.url) { case '/query': exportFunc.query("myquery", res.end); break; } } — exportFunc.js — exports.query= function(query, cb) { queryServer(query, cb); } var queryServer = function(query, cb) { cb("MyQueryResult"); } 但是我得到一个错误,cb不能确定它是什么对象。 我是否需要将此对象转换为正确的types?

Expressj的一个函数来处理GET和POST

是否最好有一个单独的函数来处理同一API端点的GET和POST请求,或者将它们合并成一个函数,根据req.body或req.params的存在性来区分? 即。 app.get('/api/profilepic', api.get_profilepic); app.post('/api/profilepic', api.change_profilepic); 要么: app.get('/api/profilepic', api.profilepic); app.post('/api/profilepic', api.profilepic); 如果是后者,expressjs是否提供了帮助函数来确定请求types? 到目前为止,我确定req是否为POST的方法需要下划线: if (_.size(req.body) == 0)

将connect.sid存储在localStorage而不是cookie中

当我login到我的PhoneGap应用程序,一切正常。 我可以在本届会议上提出要求,并获得authentication。 如果我完全closures应用程序,并重新启动它,虽然我的会话不见了,但是connect.sid的cookie不会在app重启之间持续下去 – 这是我无法解决的一个phonegap问题。 我应该如何从cookie中获取connect.sid? 我应该如何将它存储在localStorage中? 如何将connect.sid添加到应用程序启动的cookie上?

node.js基准testing不顺利

我写这样一个简单的页面 var connect = require('connect'); connect.createServer( connect.router(function(app){ app.get('/no-db', function(req, res, next){ res.end(JSON.stringify({/* object here*/})); }); }) ).listen(3000); 当我跑步 ab -c 100 -n 10000 http://127.0.0.1:3000/no-db 它处理的请求,有时快,有时慢,有时候刚刚停止,非常不稳定。 这是什么意思? 我正在使用Mac OS X狮子。