0

POST API のテストを実行しようとしたときに次のエラーが発生しました

events.js:71 throw argumentt[1]; // unhandled 'error event' Error: connect ECONNREFUSED at 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()
4

1 に答える 1

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」で実行します

于 2013-04-21T08:46:35.037 に答える