2016-06-23 15 views
7

Sử dụng phản ứng và webpack .. tại sao mã bên dưới dẫn đến lỗi: Uncaught (in promise) SyntaxError: Unexpected end of input(…)? Cảm ơnTìm nạp không có phần đầu cuối bất ngờ Đầu vào bất ngờ

fetch(feedURL, {"mode": "no-cors"}) 
    .then(response => response.json()) 
    .then(function(data){ 

     this.setState({ 
      data: data 
     }) 

    }.bind(this)); 
+0

là phản hồi hợp lệ JSON? – frankies

+1

Vì bạn không kiểm tra loại phản hồi mà bạn đang nhận được và không đặt bất kỳ tiêu đề chấp nhận nào, bạn có thể không có một phiên bản không an toàn cho một kịch bản khi phản hồi mà bạn nhận được không thuộc loại JSON. Có thể là nguyên nhân có thể gây ra vấn đề. –

+0

Kiểm tra dữ liệu thô JSON là hợp lệ, nhưng URL tới tệp được lưu trữ trên CDN không hợp lệ. 'Mã hóa không hợp lệ, mong đợi UTF-8, UTF-16 hoặc UTF-32.' Bất kỳ suy nghĩ nào về cách tôi có thể khắc phục? – user14439

Trả lời

0

Để hiểu rõ hơn lỗi của bạn, hãy thêm trường hợp bắt vào yêu cầu tìm nạp của bạn.

Ngoài ra, nếu bạn sử dụng các chức năng mũi tên, bạn không cần phải liên kết (điều này);

fetch(feedURL, {"mode": "no-cors"}) 
.then(response => response.json()) 
.then(data => { 
    this.setState({ 
     data: data 
    }); 
}) 
.catch(resp => { 
    console.error(resp); 
});