无法为POST API创建程序

时间:2012-12-01 17:43:29

标签: node.js

尝试执行POST API测试时发生以下错误

events.js:71 throw argumentt [1]; //未处理的'错误事件' 错误:连接ECONNREFUSED     在errnoException(net.js:769:11)     at Object.afterConnect [as oncomplete](net.js:760:19)

代码如下:

var http = require('http');
assert = require('assert')

var opts = {
host:'localhost',
port:8000,
path:'/send',
method:'POST',
headers:{'content-type':'application/x-www-form-urlencoded'}
}

var req = http.request(opts,function(res) {
res.setEncoding('utf8')

var data = ""
res.on('data', function(d) {
data += d
})

res.on('end',function() {
assert.strictEqual(data, '{"status":"ok","message":"Tweet recieved"}')
})
})

req.write('tweet=test')
req.end()

1 个答案:

答案 0 :(得分:1)

你需要创建一个服务器(tweet.js)

var express = require('express');
var app = express.createServer();
app.listen(8000);
var tweets = [];
app.get('/', function(req, res) {
  res.send('Welcome to Node Twitter');
})
app.post('/send', express.bodyParser(), function(req, res) {
  if (req.body && req.body.tweet) {
    tweets.push(req.body.tweet);
    res.send({status:"ok", message:"Tweet received"});
  } else {
    //no tweet?
    res.send({status:"nok", message:"No tweet received"});
  }
});
app.get('/tweets', function(req,res) {
  res.send(tweets);
});

并使用“node tweet.js”

运行它