Как преобразовать .ajax() в fetch()

Я пытаюсь использовать библиотеку JavaScript's fetch для отправки формы в моем приложении Django. Однако, что бы я ни делал, она все равно жалуется на CSRF валидацию. мой код fetch не работает

ajax

  function myidLikeCom(params) {

    
      $.ajax({
        type: 'POST',
        url: '{% url "boards:likeComment" %}',
        data: {
          postid: params,
          csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
          action: 'post'
        },
        success: function (json) {
          document.querySelector(`#myidLikeCom${params}`).innerText = "json['result']";
        },
        error: function (xhr, errmsg, err) {
  
        }
      });
    }

fetch

  function myidLikeCom(params) {
        let data= {
          postid: params,
          csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
        }  
fetch('{% url "boards:likeComment" %}', {
    method: 'POST',
    body: data, 
})     
    }

Обратитесь к Django документации о том, как передать токен CSRF с помощью AJAX.

Вам необходимо передать токен в соответствующем заголовке.

    $.ajax({
        type: 'POST',
        url: '{% url "boards:likeComment" %}',
        headers: {
        'X-CSRFToken': $('input[name=csrfmiddlewaretoken]').val(),
        'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest'
        },
        data: {
          postid: params,
          action: 'post'
        },
        success: function (json) {
          document.querySelector(`#myidLikeCom${params}`).innerText = "json['result']";
        },
        error: function (xhr, errmsg, err) {
  
        }
      });

Вернуться на верх