2015-12-25 2 views
14

Я начинаю изучать Angular2, следуя quickstart, которые они предоставляют на своей странице, и теперь я пытаюсь сделать Http requests. Но всякий раз, когда я грузиться компонент, Chrome продолжает давать мне эти ошибки:Angular2 Http error

Uncaught SyntaxError: Unexpected token <   http:1 
Uncaught SyntaxError: Unexpected token <   angular2-polyfills.js:138 
    Evaluating http://localhost:3000/angular2/http 
    Error loading http://localhost:3000/app/boot.js 

Это компонент:

import {Component} from 'angular2/core'; 
import {HTTP_PROVIDERS, Http} from 'angular2/http'; 

@Component({ 
    selector: 'users', 
    providers: [HTTP_PROVIDERS], 
    templateUrl: 'app/views/users.html' 
}) 
export class UsersComponent { 

    people: Object[]; 
    constructor(http: Http) { 
    http.get('http://192.168.56.101/api/test').subscribe(res => { 
     this.people = res.json(); 
     console.log(this.people); 
    }); 
    } 
} 

И самонастройки:

import {bootstrap} from 'angular2/platform/browser' 
import {UsersComponent} from './components/users' 

bootstrap(UsersComponent, [HTTP_PROVIDERS]); 

мнение только {{people}}.

ТипScript компилирует ОК. Я даже не знаю, что терпит неудачу!

+2

См http://stackoverflow.com/a/34402203/4933038 –

ответ

26

Документация отсутствует на этой части. Маршрутизатор и Http необходимо добавить в index.html. Простая ошибка:

+0

работал для меня !! – noor

+0

, пожалуйста, код. – albanx

+1

Быстрое примечание: теги сценария: colbyJax

7

Во-первых, если вы ввели провайдера в бутстрап, вам больше не придется делать это в компоненте.

Во-вторых, вы включили http.js в свой index.html?

И, наконец, у вас есть ошибка в вашем коде. Должно быть this.http.get() не http.get()

1

В бутстрапинге вам не нужно импортировать зависимости HTTP_PROVIDERS. так попробовать: -

import {HTTP_PROVIDERS} from 'angular2/http'; 
import {bootstrap} from 'angular2/platform/browser' 
import {UsersComponent} from './components/users' 

bootstrap(UsersComponent, [HTTP_PROVIDERS]); 

и в индексном файле нужно добавить: -

<script src="node_modules/angular2/bundles/router.dev.js"></script> 
<script src="https://code.angularjs.org/2.0.0-beta.11/http.dev.js"></script> 

для маршрутизации и HTTP

+0

приятный и обновленный. –