2016-03-06 25 views
18

Vì một số lý do fetch (https://fetch.spec.whatwg.org/) không được xác định trong Safari (Phiên bản 9.0.3), có ai biết tại sao không? Nó có vẻ là tiêu chuẩn và hoạt động tốt trong Chrome và Firefox. dường như không thể tìm thấy bất cứ ai khác có cùng một vấn đềtìm nạp không được xác định trong Safari (Tham chiếuKhông tìm thấy biến: tìm nạp)

Tôi đang sử dụng phản ứng với Redux và đây là một số mã ví dụ:

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' không được hỗ trợ bởi trình duyệt Safari. –

Trả lời

29

Bạn có thể sử dụng https://github.com/github/fetch polyfill cho các trình duyệt được hỗ trợ.

npm install whatwg-fetch --save; 

Edit: (theo ý kiến)

thêm

import 'whatwg-fetch'; 

trong mỗi tập tin trước khi sử dụng lấy - oliviergg

+0

Cảm ơn, nên biết điều đó. – zlwaterfield

+0

Tôi đang sử dụng (cũng như lời hứa polyfill), nhưng tôi vẫn gặp lỗi chính xác khi xem nó trên iOS. – Nickvda

+0

(Không có chỉnh sửa nào có sẵn cho nhận xét ..): Cổ phiếu Android có cùng vấn đề. – Nickvda

2

Sử dụng whatwg-fetch polyfill. Nếu bạn sử dụng webpack, bạn chỉ có thể thêm nó vào điểm vào

entry: { 
    app: ['whatwg-fetch', 'your-index.js'] 
} 
Các vấn đề liên quan