Отправить параметры тела POST в JS - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь отправить параметр в API, и этот параметр должен быть отправлен как тело сообщения. Заголовок авторизации необходим для отправки ключа API.

  • Как я могу добавить запрос тела сообщения с данными «server_id: 12345»?
  • Как я могу распечатать JSON, который API дает мне на моей веб-странице?
document.getElementById("1").addEventListener("click", PowerOff);
function PowerOff() {
  "";

  console.log("Doing");

  fetch(url, {
    method: "POST",
    headers: {
      Authorization: "CrocodileZebraGiraffe",
      "Content-Type": "application/json",
    }
  });
}

Ответы [ 2 ]

0 голосов
/ 20 июня 2020

вы можете добавить новый key с именем body и установить его с любыми данными, которые вы хотите, как строковый объект:

const data = {server_id: "12345" };
fetch(url, {
    method: "POST",
    headers: {
      Authorization: "CrocodileZebraGiraffe",
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data)
}).then((res)=> {
   // do whatever you need with result
});

0 голосов
/ 20 июня 2020

Ваш body тип данных должен соответствовать заголовку Content-Type. Для получения json вы получаете стандартный ход then. В итоге вы получите что-то вроде:

var data = {server_id: 12345} //you can create it inside the function if it doesn't change
function PowerOff() {
  "";

  console.log("Doing");

  fetch(url, {
    method: "POST",
    headers: {
      Authorization: "CrocodileZebraGiraffe",
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data)
  }).then(response=>{
    console.log('Success: ', response);
    //if you want to access this response later, you have to assign it to some variable
  }).catch(err => {
    console.log('Error: ', err)
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...