Как разместить данные URLSearchParams с помощью Fetch в IE 11 - PullRequest
0 голосов
/ 14 марта 2019

Когда я пытаюсь опубликовать bodydata с помощью URLSearchParams в fetch, он работает в Chrome v72 и Edge v40, но не в IE11 (с полифиллами).

В IE11: я получаю эту ошибку:

Ошибка: неподдерживаемый тип BodyInit

Я использую следующие полизаполнения для браузеров Edge / IE / etc:

  • whatwg-fetch: "3.0.0 "(полизаполнение window.fetch)
  • url-search-params-polyfill:" 5.0.0 "(простой полизаполнение для javascript URLSearchParams)

    constbodyData = new URLSearchParams () Object.keys (configJson) .map (key => {bodyData.append (encodeURIComponent (ключ), encodeURIComponent (configJson [ключ]))})

    const opts = {метод:'POST', тело: bodyData, заголовки: {'Content-Type': 'application / x-www-form-urlencoded; charset = UTF-8'}}

    fetch (endPointUrl, opts)

1 Ответ

0 голосов
/ 03 апреля 2019

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

Пример тела вашего запроса

{..., body : objToBodyObj(obj) ..}

Ниже приведена функция

function objToBodyObj(obj) {
  var str = "";
  for (var key in obj) {
    if (str != "") {
      str += "&";
    }
    str += key + "=" + encodeURIComponent(obj[key]);
  }
  return str;
}
...