2016-03-06 26 views
18

Per qualche motivo fetch (https://fetch.spec.whatwg.org/) non è definito in Safari (versione 9.0.3), qualcuno sa perché? Sembra essere lo standard e funziona bene in Chrome e Firefox. Non riesco a trovare chiunque altro abbia lo stesso problemarecupero non definito in Safari (ReferenceError: Impossibile trovare la variabile: fetch)

Sto usando reagiscono con redux e qui è qualche esempio di codice:

export function fetchData (url) { 
    return dispatch => { 
    dispatch(loading()) 
    fetch(url, { 
     method: 'GET' 
    }) 
    .then(response => { 
     response.json() 
     .then(data => { 
     dispatch(success(data)) 
     }) 
    }) 
    } 
} 
+0

http://caniuse.com/#search=fetch 'fetch' non è supportato da Safari. –

risposta

29

È possibile utilizzare https://github.com/github/fetch polyfill per i browser non supportati.

npm install whatwg-fetch --save; 

Edit: (per i commenti)

aggiungere

import 'whatwg-fetch'; 

in ogni file prima di utilizzare prendere - oliviergg

+0

Grazie, avrei dovuto saperlo. – zlwaterfield

+0

Lo sto usando (il polyfill di es6-promise pure), ma continuo a ricevere lo stesso identico errore quando lo guardo su iOS. – Nickvda

+0

(Nessuna modifica disponibile per i commenti ..): Stock Android ha lo stesso problema. – Nickvda

2

Usa whatwg-fetch polyfill. Se si utilizza webpack, si può solo aggiungere al punto di ingresso

entry: { 
    app: ['whatwg-fetch', 'your-index.js'] 
} 
Problemi correlati