2016-03-10 20 views
8

Recentemente ho spostato dall'uso di jQuery all'utilizzo di isomorphic-fetch con Redux. Durante l'esecuzione in IE, riesce a recuperare. Tuttavia ottengo il sotto quando si esegue in Chrome.401 (Non autorizzato) in Chrome, ma non in IE

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

Può essere interessante notare che l'API di Web ha l'autenticazione di Windows abilitata.

Ecco il codice che esegue l'operazione di recupero:

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)) 
     }) 
    } 
} 
+0

http://stackoverflow.com/questions/29782222/jquery-ajax-call-results-in-401-unauthorized-response-when-in-chrome-or-firefo –

+1

Domande che cercano aiuto per il debug ("perché isn" questo codice funziona? ") deve includere il comportamento desiderato, un problema specifico o un errore e il codice più breve necessario per riprodurlo nella domanda stessa. Le domande senza una chiara affermazione di problemi non sono utili agli altri lettori. Vedi: [Come creare un esempio minimo, completo e verificabile] (http://stackoverflow.com/help/mcve). –

+0

@ CanÜrek La mia domanda riguarda isomorphic-fetch, jQuery funziona bene cross-browser. –

risposta

24

suppongo avete l'autenticazione basata su cookie sul server. In questo caso potrebbe essere correlato alla chiave credentials per fetch. richieste XHR, che utilizzati in jQuery sempre inviare il cookie, ma usando fetch si dovrebbe passare credentials opzione con

  • same-origin se si fa la richiesta per la stessa origine (dominio)
  • include altrimenti

Ti piace questa:

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

Suppongo che funzioni in IE perché il polyfill fetch utilizza richieste XHR sotto il cofano.

+0

Darò uno scatto, ma questo sembra esattamente come il problema. Grazie! –

+1

ha funzionato perfettamente! –

Problemi correlati