2016-09-19 27 views
17

Tôi đang sử dụng Góc 2 và nhận được lỗi này khi sử dụng một quan sát Property '_body' does not exist on type 'Response'. Đoạn mã dướiThuộc tính '_body' không tồn tại trên loại 'Phản hồi'

this.securitiesService.getMarketMovers() 
    .subscribe(data => { 
     console.log(JSON.parse(data._body)) 
    }); 

Chức năng getMarketMovers chỉ đơn giản là thế này:

getMarketMovers() { 
    return this._http.get('...url address...') 
} 

Tôi đã cố gắng để thiết lập dataany nhưng đó không phải đang làm việc cho tôi. Mã hoạt động và chắc chắn có thuộc tính _body trên dữ liệu nhưng nó vẫn ném lỗi và tôi không thể xây dựng với lỗi này.

Bất kỳ trợ giúp nào được đánh giá cao.

+0

chương trình 'getMarketMovers' phương pháp mã. – micronyks

+1

Thử 'data.json() ._ body' – yurzui

+0

Bạn gặp lỗi thời gian chạy hoặc lỗi biên dịch? Âm thanh cho tôi như một lỗi biên dịch thời gian, do đó bạn phải truyền biến 'data' đó vào đúng loại của bạn. Hoặc chức năng 'getMarketMovers' của bạn phải trả lại đúng loại! – mxii

Trả lời

42

CẬP NHẬT

Một cách khác, là để nói một cách rõ ràng nguyên cảo rằng chúng tôi không quan tâm đến việc kiểm tra kiểu chặt chẽ.

(<any>data)._body 

ORIGINAL

data["_body"] này nên làm việc.

+1

Điều này đã giúp tôi trong tình huống gần như giống hệt nhau. Cảm ơn! – mottosson

+1

này trông giống như một IMHO hack, có cách nào tốt hơn để kiểm tra xem một phản ứng có cơ thể trống rỗng? – Toolkit

+0

Đây là cách duy nhất tôi có thể làm cho nó hoạt động, cảm ơn bạn! :) – balazs630

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