'fetch API POST request response

I am trying to get output from the post request once the form has been submitted but I get a promise response rather than the actual data when posting the form

fetch('localhost/clients', {
  method: 'post',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(formData)
}).then(response => {
  console.info('Sending Message ...')
  console.info(response.json())
}).catch (error => {
  console.log(error)
})

The data gets passed to the backend however I want to return the data thats been outputted by the API server.



Solution 1:[1]

response.json() returns a Promise. You need to use it like below.

fetch('localhost/clients', {
  method: 'post',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(formData)
}).then(response => {
  return response.json();
}).then(jsonResponse => {
  console.log(jsonResponse);
}).catch (error => {
  console.log(error)
})

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 bennygenel