我正在使用Nodejs & Express的示例工作。尝试它时,我得到一个错误。使用nodejs/express的意外的换行符字符
主文件的一部分:
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 {
res.send({status: "nok", message: "No tweet received"});
}
});
测试脚本的一部分:
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 received"}');
});
});
这是错误:
assert.js:104
throw new assert.AssertionError({
^
AssertionError: "{\n \"status\": \"ok\",\n \"message\": \"Tweet received\"\n}" === "{\"status\":\"ok\",\"message\":\"Tweet received\"}"
at IncomingMessage.<anonymous> (/home/jfb/Documents/Info/Nodejs/Up_and_Running/test.js:19:11)
at IncomingMessage.EventEmitter.emit (events.js:115:20)
at IncomingMessage._emitEnd (http.js:366:10)
at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:23)
at Socket.socketOnData [as ondata] (http.js:1356:20)
at TCP.onread (net.js:404:27)
我检查我的文件与编辑器设置为显示特殊字符,有如图中的错误信息没有换行符。
有人能告诉我这里发生了什么事。
谢谢你,吉姆
这个问题已经被添加到书中所讨论的勘误:http://oreilly.com/catalog/errataunconfirmed.csp?isbn=0636920015956 – sillypog 2012-10-31 06:45:37