Javascript Fetch — пользовательский заголовок вызывает ошибку: net:: ERR_HTTP2_PROTOCOL_ERROR

#javascript #header #fetch #http2

#javascript #заголовок #выборка #http2

Вопрос:

Добрый день,

Мне нужно получить доступ к API платежного шлюза с моего веб-сайта. Он построен с помощью React и Next JS.

При использовании метода выборки я получаю ошибку: net::ERR_HTTP2_PROTOCOL_ERROR. В консоли отображается вторая ошибка: Не перехвачено (в обещании) Ошибка типа: не удалось выполнить выборку

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

Я не очень много знаю об этом, но я предполагаю, что браузер даже не отправляет предполетный запрос.

В настоящее время существует два заголовка. Простой ‘Content-Type’ и непростой пользовательский заголовок ‘merchant-id’. Выборка выполняется нормально, если я удаляю пользовательский заголовок, и я получаю ответ сервера от API. Запрос завершается с ошибкой при добавлении пользовательского заголовка.

 const request = new Request(
    `https://api.payfast.co.za/ping?testing=true`,
    {
      method: "GET", 
      headers: {
        "Content-Type": "text/plain",
        // "merchant-id": "xxxx",
      },
    }
  );

fetch(request).then((res) => res.json()).then((data) => console.log(data));  

Есть какие-либо советы о том, с чего мне следует начать поиск?

Я протестировал это в HTTP-клиенте, и он отлично работает, если я добавляю пользовательские заголовки.

Спасибо, Корри

Ответ №1:

Привет, попробуйте увеличить конфигурацию изменения HTTP на вашем сервере -> например, я изменил параметры «Максимальный размер списка заголовков HTTP / 2» на моем веб-сервере «payara» в: Панель администратора -> Конфигурация -> Конфигурация сервера -> Конфигурация сети -> Сетевые прослушиватели -> http-прослушиватель-1:8080 -> Вкладка HTTP -> HTTP / 2 Максимальный размер списка заголовков на 49152