2016-09-19 2 views
17

Я использую Angular 2 и получаю эту ошибку при использовании наблюдаемого Property '_body' does not exist on type 'Response'. Код нижеСвойство '_body' не существует на типе 'Response'

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

Смежные вопросы