401 (несанкционированный) в Chrome, но не в IE

недавно я перешел от использования jQuery к использованию изоморфной выборки с Redux. При запуске в IE ему удается получить штраф. Однако я получаю ниже при работе в Chrome.

Failed to load resource: the server responded with a status of 401 (Unauthorized)

возможно, стоит отметить, что в веб-api включена аутентификация windows.

вот код, который выполняет принести:

export const fetchSearchResults = (name) => {
  return (dispatch) => {
    dispatch(requestSearchResults(name))
    return fetch(API URI HERE)
      .then(response => response.json())
      .then(json => {
        console.log('Fetch: ' + json.message.features.length)
        dispatch(receiveSearchResults(json))
      })
  }
}

1 ответов


Я полагаю, у вас есть аутентификация на основе файлов cookie на сервере. В этом случае это может быть связано с credentials ключ fetch. Запросы XHR, используемые в jQuery всегда отправить cookie, но с помощью fetch вы должны пройти С

  • same-origin если вы делаете запрос к тому же источнику (домену)
  • include иначе

такой:

...
fetch(API_URI_HERE, {credentials: 'same-origin'})
...

Я предполагаю, что он работает в IE, потому что fetch polyfill использует запросы XHR под капотом.