Fetch, передача параметров в POST запрос

228
16 мая 2018, 08:00

У меня есть POST запрос: 'https://mysterious-reef-29460.herokuapp.com/api/v1/validate'

Чтобы получить ответ, я должен передать такие данные:

email: 'max@test.com', password: '12345', content-type: 'application/json'

Пробовал сделать так:

const status = response => {
    if (response.status !== 200) {
      return Promise.reject(new Error(response.statusText))
    }
    return Promise.resolve(response)
  }
  const json = response => {
    console.log(response.headers.get('content-type'));
    return response.json()
  }
  fetch('https://mysterious-reef-29460.herokuapp.com/api/v1/validate', {
    method: 'post',
    body: 'test=1',
    headers: {
        'email': 'max@test.com',
        'password': '12345',
    }
  })
    .then(status)
    .then(json)
    .then(data => {
      console.log('data', data);
    })
    .catch(error => {
      console.log('error', error);
    })

Но возвращается: {status: "err", message: "wrong_email_or_password"}

Answer 1

Только что curl'ом послал запрос:

curl -v -H "Content-Type: application/json" -H "content-type: application/json" -X POST -d "{\"email\":\"max@test.com\",\"password\":\"12345\"}" http://mysterious-reef-29460.herokuapp.com/api/v1/validate

И получил в ответе: {"status":"ok","data":{"id":1}}.

Так что, почту и пароль нужно в теле отправлять, а не в заголовках.

fetch('https://mysterious-reef-29460.herokuapp.com/api/v1/validate', {
    method: 'post',
    body: JSON.stringify({email: 'max@test.com', password: '12345'}),
    headers: {
        'content-type': 'application/json'
    }
})
READ ALSO
Закрытие бокового меню при скролле вниз и при клике на один из пунктов

Закрытие бокового меню при скролле вниз и при клике на один из пунктов

Создал боковое меню, и когда открываешь и начинаешь скролить оно как-то мешает просмотру страницы, не получается осуществить закрытие меню...

236
Уведомление JQUERY [требует правки]

Уведомление JQUERY [требует правки]

дайте пожалуйста пример уведомленияМне нужно чтобы с право в нижнем углу появлялись боксы с текстом и пропадали через 3 секунды

177