2016-07-22 11 views
0

koa.jsをテストし、クライアント側でフェッチします。私はサーバー上にいくつかのデータを投稿しようとしています。私は下のコードで定義されていません。なぜ私は不明です。Koaルータはポストボディを見ませんか?

私はthis,this.request,this.reqなどを検査しましたが、クライアントからのデータが見つかりませんでしたか?

import koaRouter from 'koa-router' 

// Post route 
router.post('/api/upload', function *(next) { 
    console.log('UPLOAD WORKS', this.req.body) 
    this.status = 200 
}) 

app 
    .use(bodyParser()) 
    .use(router.routes()) 
    .use(router.allowedMethods()) 

コンソール

サーバーは、私は未定義できます。

クライアント

fetch('/api/upload', { 
    method: 'post', 
    body: 'Hello' 
}).then(function(response) { 
    console.log(response) 
}).catch(function(err) { 
    // Error :(
}); 
+0

は、[この](http://stackoverflow.com/questions/31504814/koa-router-and-post) –

+0

で複製することでした私はそれに出くわしました。私はまだ私のデータが不足していました。私はfetch()のためにそのことを考えています。 –

+0

あなたの質問に関するいくつかの投稿を見つけた場合は、それらをテキストに含めて、なぜあなたの答えが答えられないのかを教えてください。 –

答えて

0

あなたは、文字列をラップするために 'いるFormData' オブジェクトを使用するようにクライアントfatchを変更する必要があります。

var formData = new FormData(); 
formData.append('json', 'Hello'); 

fetch('/api/upload', { 
    method: 'post', 
    body: formData 
}).then(function(response) { 
    console.log(response) 
}).catch(function(err) { 
    // Error :(
}); 
関連する問題