2016-09-19 130 views
17

我正在使用Angular 2並在使用可觀察的Property '_body' does not exist on type 'Response'時出現此錯誤。代碼如下屬性'_body'在類型'響應'上不存在

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

的getMarketMovers功能很簡單:

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

我已經嘗試設置data鍵入any但那不是爲我工作。代碼的作品,肯定有一個_body財產的數據,但它仍然會拋出錯誤,我不能生成這個錯誤。

任何幫助,非常感謝。

+0

顯示'getMarketMovers'方法的代碼。 – micronyks

+1

嘗試'data.json()._ body' – yurzui

+0

您得到運行時錯誤或編譯時錯誤?聽起來像一個編譯時錯誤,所以你必須將該'data'變量轉換爲正確的類型。或者你的'getMarketMovers'函數應該返回正確的類型! – mxii

回答

42

UPDATE

另一種方式,就是明確地告訴打字稿,我們不是有興趣做嚴格的類型檢查。

(<any>data)._body 

ORIGINAL

data["_body"]應該工作。

+1

這幫助了我幾乎完全相同的情況。謝謝! – mottosson

+1

這看起來像一個黑客恕我直言,有沒有更好的方法來檢查一個響應是否有空體? – Toolkit

+0

這是我能做到的唯一方法,謝謝! :) – balazs630

相關問題