2016-03-06 19 views
18

Aus irgendeinem Grund fetch (https://fetch.spec.whatwg.org/) ist nicht in Safari (Version 9.0.3) definiert, weiß jemand warum? Es scheint der Standard zu sein und funktioniert in Chrome und Firefox gut. Kann nicht jemand anderes das gleiche Problem haben scheinen zu findenAbruf nicht in Safari definiert (ReferenceError: Variable nicht gefunden: fetch)

ich mit redux reagieren bin mit und hier einige Beispiel-Code:

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' nicht von Safari unterstützt wird. –

Antwort

29

Sie https://github.com/github/fetch polyfill für nicht unterstützte Browser verwenden können.

npm install whatwg-fetch --save; 

Edit: (pro Kommentare)

import 'whatwg-fetch'; 

in jeder Datei hinzufügen, bevor holen mit - oliviergg

+0

Danke, hätte das wissen müssen. – zlwaterfield

+0

Ich benutze das (das es6-Versprechen Polyfill als auch), aber ich bekomme immer genau denselben Fehler, wenn es auf iOS zu sehen. – Nickvda

+0

(Keine Bearbeitung für Kommentare verfügbar ..): Stock Android hat das gleiche Problem. – Nickvda

2

Verwenden whatwg-fetch polyfill. Wenn Sie webpack verwenden, können Sie es einfach Punkt Eintrag hinzufügen

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