2015-04-27 26 views
10

Tôi đang sử dụng API tìm nạp gốc phản hồi để lấy dữ liệu JSON từ https://api.github.com/users/{username} nhưng yêu cầu không thành công với thông báo lỗi sau.Yêu cầu tìm nạp gốc phản hồi Không có

"TypeError: Network request failed {stack: (...), message: 'Network request failed'}".

Tôi tin cho https, đôi khi bạn nhận được NSURLAuthenticationChallenge. Tôi không chắc chắn làm thế nào để thực hiện điều này. Bất cứ ai có bất kỳ ý tưởng về điều này?

+0

thật khó để nói mà không có đoạn mã, nhưng bạn có thể thử thêm '/' vào cuối url bạn đang sử dụng. cũng nội suy được thực hiện bằng cách sử dụng '# {username}' – GoldenBeet

+0

Bạn có thể cung cấp một số mã tối thiểu để tái tạo lỗi này không? Một cách để có được nó là cố gắng 'tìm nạp' một URL không hợp lệ, nhưng không có cách nào để nói điều gì gây ra nó trong trường hợp của bạn mà không có bạn hiển thị một số mã. –

Trả lời

-3

Bạn đã thử XMLHttpRequest chưa?

Như thể hiện in the doc, https được hỗ trợ bởi XMLHttpRequest:

var request = new XMLHttpRequest(); 
request.onreadystatechange = (e) => { 
    if (request.readyState !== 4) { 
    return; 
    } 

    if (request.status === 200) { 
    console.log('success', request.responseText); 
    } else { 
    console.warn('error'); 
    } 
}; 

request.open('GET', 'https://mywebsite.com/endpoint.php'); 
request.send(); 
+0

Trong cùng một tài liệu mà bạn đã đăng, nó cho thấy rằng bạn có thể làm https với Tìm nạp –

2

Bạn có thể cung cấp một đoạn mã fetch của bạn?

Nói chung, một tuyên bố fetch được viết như sau:

fetch(requestURL) 
    .then((response) => response.json()) 
    .then((data) => { 
    this.setState({data: data}); 
    }) 
    .catch((error) => console.log(error)) 
    .done(); 

Bắt lỗi sẽ cho phép các chương trình để tiến hành mà không bị rơi.

0

Trong trường hợp của tôi, sự cố không có trong mã. Tôi bắt đầu giả lập khi không có mạng. Sau khi tôi đăng nhập vào mạng wifi điểm trên giả lập vẫn không hoạt động. Tôi khởi động lại trình mô phỏng - tất cả đều hoạt động.

Vì vậy:

  1. Kết nối với mạng.

  2. Khởi động lại trình mô phỏng.

Nếu không hiệu quả, hãy kiểm tra mã của bạn.

0

Tôi cũng gặp vấn đề này React Native Fetch Request Fails rất thường xuyên.

Trong trường hợp của tôi, phản hồi từ cuộc gọi API là khoảng 5kb, vì vậy tôi đã xóa dữ liệu không cần thiết khỏi phản hồi API và giảm kích thước kết quả xuống khoảng 1kb và tất cả bắt đầu hoạt động.

Vì vậy, hãy thử hạn chế dữ liệu bạn đang yêu cầu từ API.

Các vấn đề liên quan