javascript - the - 401(no autorizado) en Chrome, pero no en IE
javascript fetch crossdomain (1)
Supongo que tiene una autenticación basada en cookies en el servidor. En este caso, podría estar relacionado con la clave de credentials
para fetch
. Las solicitudes de XHR, que se usan en jQuery siempre envían su cookie, pero al usar fetch
debe pasar la opción de credentials
con
-
same-origin
si realiza una solicitud al mismo origen (dominio) -
include
contrario
Me gusta esto:
...
fetch(API_URI_HERE, {credentials: ''same-origin''})
...
Supongo que funciona en IE porque fetch
polyfill usa solicitudes XHR bajo el capó.
Recientemente pasé de usar jQuery a usar isomorphic-fetch con Redux. Cuando se ejecuta en IE, logra recuperar bien. Sin embargo, obtengo lo siguiente cuando se ejecuta en Chrome.
Failed to load resource: the server responded with a status of 401 (Unauthorized)
Vale la pena señalar que la API web tiene habilitada la autenticación de Windows.
Aquí está el código que ejecuta la búsqueda:
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))
})
}
}