に私は、ノード上の旅で遊んでいると私は唯一のルータはJSONが空の値があるキーの値としてオブジェクトを要求解釈していることに気づいた:つまりジャーニーJSONのNode.js
を、サーバーにJSONオブジェクトを投稿すると、次のようになります。
http://127.0.0.1:3000/> post /events
... {url : "test"}
HTTP/1.1 200 OK
Date: Tue, 21 Feb 2012 00:42:38 GMT
Server: journey/0.4.0
Content-Type: application/json;charset=utf-8
Content-Length: 67
Connection: keep-alive
{
event: {
_id: '10tPxx',
resource: 'Event',
{url : "test"}: ''
}
}
オブジェクト全体が文字列と見なされています。
はここに私の旅関連のコードです:
exports.createRouter = function(resource){
var router = new (journey.Router)({
api: 'basic'
});
router.path(/\/events/, function(){
....
this.post().bind(function(res, event){
console.log(event);
resource.create(event, function(err, result){
if(err){
return res.send(500, {}, {error: err.error});
}
res.send(200, {}, { event: result});
});
});
...
});
return router;
};
コンソールのプリントアウトは、次のとおりです。
{ '{url : "test"}': '' }
おそらく間違っている可能性が何?
投稿するとき、 'Content-Type'リクエストヘッダーを 'application/json'に設定していますか? jsonが 'JSON.parse'ではなく' querystring.parse'を使って解析されているようです。 Revelantコード:https://github.com/cloudhead/journey/blob/master/lib/journey.js#L331 – loganfsmyth
httpリクエストは次のように表示されます: 'Content-Type:application/json; charset = utf-8' http-consoleを使用するだけです。 – mabounassif
'; charset = utf-8'がRegexテストを台無しにしているのだろうかと思います。 – mabounassif