Anguar2 httpを使用してリモートAPIに接続しようとすると、次の例外が発生します。また、私のWebサーバーはリクエストを受信し、適切に応答しています。
ローカルサーバーへのcurlリクエストを成功させることができます。
EXCEPTION: Response with status: 0 for URL: null
service.ts
getAllProducts(): Observable<string> {
return this.http.get(this.productUrl)
.map(this.extractData)
}
private extractData(res: Response) {
let body = res.json();
console.log(body)
return body.data || { };
}
これが誰かを助けることを願っています。
問題はリソース定義にありました。 angular2 http.get
を使用してリモートリソースに接続しようとすると、次のエラーが発生しました。
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at …
修正:
flask-restful
を使用してリモートAPIを構築しているため、以下の修正により問題が解決しました
from flask_restful.utils import cors
from flask_restful import Api
api = Api(app, decorators=[cors.crossdomain(Origin='*')])
完全なソースコードはこちらから入手できます。 inventory-manager
MEAN2アプリでも同じエラーが発生しました。 [〜#〜] cors [〜#〜] ミドルウェアをインストールして、エクスプレスで使用するだけでした。
サーバーが利用できない問題、CORSまたはサーバーがダウンした可能性があります。