2016-10-21 26 views
5

Tôi có một dịch vụ phục vụ một json trống, nhưng tôi đang gặp phải các lỗi này. Nếu tôi sử dụng https://jsonplaceholder.typicode.com/posts/6 thì ok. Làm thế nào tôi có thể xử lý các lỗi này một cách chính xác?Góc 2 HTTP xử lý lỗi 404

dịch vụ:

constructor(private http:Http) { } 

fetchData(){ 
    return this.http.get('https://jsonplaceholder.typicode.com/psts/6') 
     .map(
      (res) => res.json() 
    ) 
     .subscribe(
     (data) => console.log(data) 
); 
} 

Lỗi:

enter image description here

+0

Và tại sao bạn bỏ qua 'O'? –

+0

@HarryNinh ý bạn là gì? – Bas

+1

URL đã cho của bạn là 'https: // jsonplaceholder.typicode.com/posts/6' và URL của bạn trong mã là' https: // jsonplaceholder.typicode.com/psts/6' –

Trả lời

7

Bạn cần phải vượt qua một callback thứ hai đến đăng ký phương pháp. Lệnh gọi lại này sẽ thực thi khi có lỗi.

function handleError(error) { 
    console.log(error) 
} 

fetchData(){ 
    return this.http.get('https://jsonplaceholder.typicode.com/psts/6') 
     .map(
      (res) => res.json() 
    ) 
     .subscribe(
     (data) => console.log(data), 
     (error) => handleError(error) 
); 
} 
+0

tôi đang nhận tham chiếuLỗi: handleError không được xác định – Bas

+1

Bạn cần xác định hàm xử lý lỗi. bạn có thể điều khiển nhật ký hoặc làm những gì bạn muốn với lỗi. – Bazinga

+0

Bạn có ví dụ để tôi có thể học? – Bas

4

Không có vấn đề trong mã của bạn, URL tự nó được đưa ra một

+0

Nhưng tôi đang gặp phải các lỗi màu đỏ trong bảng điều khiển của tôi, điều đó không tốt;) – Bas

+0

@Bas Đó là URL, cung cấp cho bạn ** 404 **, điều này có nghĩa là tài nguyên bạn đang tìm kiếm không được tìm thấy . Mã không thể sửa lỗi này, anh chàng máy chủ của URL cần phải có một số tài nguyên tại URL này – xameeramir