2017-02-22 5 views
2

В моем приложении для запросов используется fetch и the polyfill для браузеров, которые его не поддерживают. У меня никогда не было проблем до сих пор (приложение работает на Edge 13, IE и т. Д.).Fetch API с параметрами, не работающими на Edge 14

Более конкретно, на Microsoft Edge 14 self.fetch существует, поэтому полипол не применяется. Если я позвоню выборку с одним параметром, например, как fetch('/api/users') он работает, но называть его с 2-мя параметрами (мне нужно установить некоторые заголовки, метод и т.д.)

fetch(request.url, { 
    headers, 
    method: request.method || 'GET', 
    body: request.body || null 
}) 

он не работает. Он даже не делает вызов, не бросает ошибку, ничего. Я проработал целый час и до сих пор не повезло. Есть идеи?

Очевидным было бы сделать грязную проверку useragent и переопределить собственную функцию с помощью polyfill, но мне бы хотелось что-то более «элегантное». Может быть, я делаю что-то неправильно. Благодаря!

ответ

2

Хорошо, поэтому я нашел ответ с помощью this post. По-видимому, он сбой при попытке отправить параметр body в запросе GET, даже если он был пустым или неопределенным.

Так что я просто делаю чек сначала для метода, и если это GET, я больше не добавляю тело. Это исправило мою проблему

Смежные вопросы