Tag: 发布

当使用http.post时,Express req.body是空的

我不知道为什么req.body是EMPTY … app.js使用body-parser中间件( http://www.expressjs.com.cn/4x/api.html#req.body ) var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var index = require('./routes/index'); var users = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); // add baseurl app.use('/api', index); app.use('/api', users); user.js的 router.route('/user') .post(function (req, […]

Azure不能正确发布Node.js应用程序

TL; DR 作为Cloud Service托pipe在Azure上的Node.js应用程序。 发布失败(应用程序没有上传),但似乎已经工作。 解释: 我在Windows Azure上有一个帐户,我使用了网站和云服务。 我将我的网站移动到云服务,以便能够使用自定义域。 自移动以来,我使用Azure cmdlet发布我的Node.js Web服务器。 发表之前,工作正常,通常需要5至10分钟才能完成。 一旦发布,网站就会包含最新的内容。 我的问题是,现在,发布不到2分钟,没有错误抛出,内容不更新。 为什么我的应用程序不发布它的内容? 以下是我的发布输出: PS C:\Projects\Azure\CloudServices\jwbsite\JWB> ls Directory: C:\Projects\Azure\CloudServices\jwbsite\JWB Mode LastWriteTime Length Name —- ————- —— —- d—- 9/8/2012 10:22 AM bin d—- 9/12/2012 3:30 PM controllers d—- 9/11/2012 1:16 PM data d—- 9/12/2012 4:00 PM extensions d—- 9/10/2012 2:37 PM models […]

如何在HTML表单中发回一个预设的数据字段?

我在一个Node.js网站上工作。 它保存有关某个省的地区的数据。 要编辑地区数据,pipe理员input地区的名称和年份,然后转到关于地区的具有各种字段的表单( /edit?district=blah&year=2010 )。 我应该如何跟踪在POST路线的范围内填写表格的地区和年份? 基本上我想用POSTforms发送当前URL参数中的数据。

AIR,URLRequest并将videofile upload到NodeJS服务器

我有一个NodeJS服务器设置在本地主机(用于testing),我正在使用上传的video文件运行FFMPEG。 这是我正在上传的实际节点应用程序。 https://github.com/madebyhiro/codem-transcode 如果我使用OSX控制台运行curl作业,实际的转换过程将正常工作 sudo curl -d '{"source_file": "MASTER.flv","destination_file":"converted.mp4","encoder_options": "-vcodec libx264 -vb 416k -s 320×180 -y -threads 0"}' http://localhost:8080/jobs 所以我知道节点服务器运行正常。 您可以看到特定的JSON对象是HTTP POST请求的一部分。 (在我的AIR客户端代码示例中,这是我有意留空的params对象。) 在客户端,我使用的AIR桌面应用程序简单地上传video文件。 许多问题 主要问题只是您不能将同一台计算机上的file upload到本地服务器? 我从我的requestHeaders错过了什么吗? 我应该使用contentType =“multipart / form-data”还是其他一些contentType? 应该contentType作为标题的一部分,我已经做了或定义为实际的UrlRequest对象的属性? 我应该使用UrlLoader.load而不是File.upload? 是file.url格式正确(假设我的str值是正确的)? 在我的uploadFile代码方法下面的任何其他错误或遗漏? 如果所有上述问题都得到了准确的答复,我还是要奖励一大笔奖金,但是最好还是参考答案或代码样本。 这里是另一个相关的问题,一些有用的信息POSTfile upload使用URLRequest 这里是相关的上传代码。 str是我正在上传的实际video文件的本地path。 如前所述,JSON 参数对象已被故意留空,所以需要适当的格式才能正常工作。 function uploadFile(str:String):void { var params:Object={} var jsonOb:String = JSON.stringify(params); var hdr:URLRequestHeader = […]

CORS问题:请求的资源上没有“Access-Control-Allow-Origin”标题

var enableCORS = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); 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'); // intercept OPTIONS method if ('OPTIONS' == req.method) { res.send(200); } else { next(); } }; app.use(enableCORS); 我发现在服务器端使用下面的代码片段,但仍然当我尝试发布我得到的错误没有“访问控制允许来源”标题出现在请求的资源。

在快递中无法从邮政方式获取信息

为了从客户端接收数据,我做了超级简单的代码。 var express = require('express'); var app = express(); var bodyParser = require('body-parser'); app.use(bodyParser.json()); var PORT = 80; app.get('/',function(req,res){ res.send('<form action="/" method="post"> <input type="text"name="firstname" value="Mickey"><input type="submit" value="Submit"> </form>'); }); app.post('/', function (req, res) { console.log(req.body.firstname); res.send('POST request to the homepage'); }); app.listen(PORT, () => console.log("Listening on port "+PORT)); 这就对了。 但是当我运行它说,req.body.firstname是未定义的。 我究竟做错了什么?

从Node.js服务器本地访问JSON POST有效内容

考虑下面的一个Node.js服务器的HTTP POST调用: curl -H "Content-Type: application/json" \ -X POST \ -d '{"jsonKey":"jsonValue"}' \ 'http://localhost:8080?abcd=efgh' 我想访问POST请求的URL参数和JSON负载。 通过导入url.parse访问URL参数非常简单: var server = http.createServer(function(req, res) { // Parse the params – prints "{ abcd: 'efgh' }" var URLParams = url.parse(req.url, true).query; console.log(URLParams); // How do I access the JSON payload as an object? } 但是,如何使用本地Node.js库(不包括任何npm导入)来访问JSON负载? 我试过了什么 打印req到console.log ,但没有findPOST对象 阅读req的文档,这是typeshttp.IncomingMessage

Node.js中的POST正文和一些asynchronous条件检查

我想从http.ServerRequest获取请求(POST)主体,但是当我的请求函数被调用时,请不要直,而是在一段时间之后(Redis查询)。 我有一个非常简单的例子来说明: var http = require('http'), sys = require('sys'); http.createServer(function (req, res) { sys.puts("Got request"); req.pause(); setTimeout(function() { // In real code I'm accessing Redis here. var body = ""; req.addListener('data', function (chunk) { sys.puts("Got 'data' event"); body += chunk; }); req.addListener('end', function () { sys.puts("Got 'end' event"); res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(body); }); req.resume(); }, […]

对于POST请求,nodejs请求从服务器返回null主体

我使用请求( https://github.com/mikeal/request )从节点发送一个http post请求,然后我得到一个空的主体。 从hurl.it发送的相同请求正确地返回正确的响应。 从同一个nodejs服务器发送到同一服务器的另一个请求也返回正确的正文。 真正令人愤慨的是,这是上周工作,不再在nodejs工作。 我的server.js是: var request = require('request'); request({ uri: 'insert url here; contains sensitive info', method: 'POST', body: 'insert body here; contains sensitive info', followRedirect: true, maxRedirects: 10 }, function(error, response, body) { console.log('body in response is: ' + body); }); 任何人有任何想法如何解决这个问题? 谢谢。

为什么我无法发布我的包到npmjs

我在npmjs.com上创build了一个帐户,我也正在从命令行(linux)跟随how-to-npm教程。 我正处于发布testing模块的阶段。 但我不断收到错误: You must sign up for private packages : @zentech/node 这些都是npm发布时的错误 npm ERR! publish Failed PUT 402 npm ERR! Linux 4.10.0-33-generic npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "publish" npm ERR! node v4.7.2 npm ERR! npm v3.5.2 npm ERR! code E402 npm ERR! You must sign up for private packages : @zentech/node npm ERR! npm […]