Примечание: следует использовать в тех случаях, когда вам не нужно аутентифицировать пользователей для публикации чего-либо на нашем сервере, например, когда новый пользователь регистрируется впервые

я есть сервер GraphQL, реализованный с использованиемграфен-Джанго, Я могу сделать запросы к нему, используя jquery, как это:

function allIngredients() {
    return 'query{allProducts{edges{node{name}}}}'
  }
  var query = allIngredients();
  $.ajaxSetup({
    data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
  });
  $.post("/graphql", {query: query}, function(response) {
    console.log(response);
  })

Однако, когда я пытаюсь сделать этот вызов с помощью Fetch, я получаю 403 из-за проблемы с CORS. Я решил ту же проблему в jQuery, добавив ajaxSetup ... перед вызовом.

Вот вызов с использованием fetch:

fetch('/graphql', {
        method: "POST",
        headers: {
          'Content-Type': 'application/json'
        },
        credentials: 'include',
        body: JSON.stringify({
          csrfmiddlewaretoken: '{{ csrf_token }}',
          query:`{allProducts{
            edges{
              node{
                id
                name
                orderPrice
                sellPrice
              }
            }
          }`})
      }
    )
    .then(function(response) {
        if (response.status >= 400) {
            throw new Error("Bad response from server");
        }
        return response.json();
    })

Я попытался добавить csrfmiddlewaretoken в тело аналогично тому, как это делал в примере с jQuery, но не повезло. Я попытался добавить учетные данные: «включить» какдокументы говорятопять не повезло. Я попытался с учетными данными: «тот же источник» и комбинировал эти параметры по-разному, снова тот же результат. Веб необычно молчит об этом, что я делаю не так?

Ответы на вопрос(2)

Ваш ответ на вопрос