2017-01-17 7 views
1

Я пытаюсь отправить данные (файлы и json) на сервер, используя fetch with react и redux.Отправлять файлы и данные json с помощью fetch

Мой код выглядит следующим образом:

export function saveUser(user){ 
    return function(dispatch){ 

    fetch(`${data.ROOT_URL}/save-user/`, { 
     method: 'post', 
     // body: How??? 
    }) 
     .then(response => { 

      if (response.status !== 200) { 
       console.log('Looks like there was a problem. Status Code: ' + response.status); 
       return; 
      } 

      console.log('You are successfully registered!: ' + response.status); 
     }) 

     .catch(function (error) { 
      console.log(error); 
     }); 
    } 
} 

И пользовательские данные следующим образом:

enter image description here

Таким образом, у меня есть один большой объекты с данными JSON и файлы (фотографии, документы), но я не могу отправить его на сервер.

Любые предложения?

EDIT

После добавления

headers: { 
     'Content-Type': 'application/json' 
}, 
body: JSON.stringify(user) 

Остальная часть данных в порядке, но для файлов, где я должен получить загруженные файлы, я получаю только пустой объект для файла, который загружается. Если файл не загружен, значение file равно нулю, как и должно быть.

"files":[ 
    {"file_type":"statutenFile","values":{"active":false,"fileName":"Articles of Association","file":null}}, 
    {"file_type":"blankLetterheadFile","values":{"active":false,"fileName":"Blank letterhead","file":null}}, 
    {"file_type":"companyPhotoFile","values":{"active":false,"fileName":"Company photo","file":null}}, 
    {"file_type":"idCardFile","values":{"active":true,"fileName":"check","file":{}}} 
] 

Последний один idCardFile загружается, но я получаю "file":{}

ответ

0

Вы должны включать в себя заголовок, описывающий данные вы отправляете: JSON. И вы должны передать этот объект на сервер:

export function saveUser(user){ 
    return function(dispatch){ 

    fetch(`${data.ROOT_URL}/save-user/`, { 
     method: 'post', 
     headers: { 
     'Content-Type': 'application/json' 
     }, 
     body: JSON.stringify(user) 
    }) 
    ... 
} 
+0

Не работает. 'file' - пустой объект, хотя он загружен – Boky