This.http.get 的 Angular2 问题

Angular2 issue with This.http.get

我开始玩 Angular 2 并为此设置了一个 ASP>NET WebApi 在 IIS 中本地托管在 http://localhost:8081/ping(调用 returns 序列化为 JSON 对象的字符串),效果非常好。

这是我的服务,

import { Injectable }    from '@angular/core';
import { Headers, Http } from '@angular/http';

import 'rxjs/add/operator/toPromise';

@Injectable()
export class TempService {

    constructor(
        private http: Http
    ){}

    ping(): Promise<string>{
        return this.http.get('http://localhost:8081/ping')
            .toPromise().then(res => res.json() as string)
            .catch(this.handleError);
    }

    private handleError(error: any): Promise<any> {
        alert(error);
        return Promise.reject(error.message || error);
    }
}

但是,当我尝试通过此函数进行此调用时,我在实际调用中得到了 200,但是我从 handleError 函数中收到以下错误

我已经尝试将 ASP.NET WebApi 实际部署到 Micrsoft Azure 站点,它的反应完全相同,而且我知道 api 正在工作,我只是不确定是什么我的服务有问题,这里的其他人有没有发生过这种情况,或者对问题的原因有任何想法?

Harry Ninh 是正确的,一旦我在我的 ASP.NET WebApi 中启用了 CORS,它就开始在所有浏览器中工作;至少我在上面的评论中提到的那些。感谢 Harry Ninh 的帮助。

我之前使用 XHRBackend 时遇到过同样的问题,问题得到解决。

在app.module.ts中我写了如下

从“@angular/http”导入 { HttpModule、Http、XHRBackend};

@NgModule({. . . 供应商:[ HttpModule、XHRBackend、..

],}

)