当我尝试执行ajax请求时,Angular 2会抛出意外的令牌错误

时间:2016-02-27 10:18:57

标签: ajax angular

我正在尝试使用Angular2执行AJAX请求,遵循官方文档:https://angular.io/docs/ts/latest/api/http/Http-class.html

我不断收到文件padding-top

中的错误Uncaught SyntaxError: Unexpected token <

我只是按照5分钟的教程进行操作,Hello World示例运行正常,但是当我尝试实现AJAX请求时,错误开始抛出。

导致此问题的原因是什么?如何解决?

我的代码:

angular2-polyfills.js:1243

2 个答案:

答案 0 :(得分:1)

我必须包含http.min.js文件才能使其正常工作,以及在构造函数中使用Inject。

所以基本上我在index.html文件中添加了这个:

<script src="node_modules/angular2/bundles/http.min.js"></script>

在我的组件文件中,我更改了此

constructor(http: Http)

到此:

constructor(@Inject(Http) http: Http)

当然,我还必须从核心库中导入Inject

import {Component, Inject} from 'angular2/core';

答案 1 :(得分:1)

在定义组件时,您应该使用providers属性而不是viewProviders:

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

@Component({
    selector: 'my-app',
    providers: [HTTP_PROVIDERS],
    templateUrl: 'app/main.html'
})

export class LeadsList {
    constructor(http: Http) {} // This line is causing the error.
}