2016-07-22 2 views
0

Проверка koa.js и выборка на стороне клиента. Я пытаюсь опубликовать некоторые данные на сервере. Я получаю undefined с кодом ниже. Я не уверен, почему.Koa router не видя сообщение корпус?

Я проверял this, this.request, this.req и т. Д., И я не могу найти свои данные от клиента 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()) 

Консоль дает мне неопределенными.

Client

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

Вы должны изменить свой клиент fatch использовать объект А 'FormData', чтобы обернуть строку.

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 :(
});