Asif
Asif

Reputation: 489

EXCEPTION: Response with status: 0 for URL: null in angular2

I'm getting following exception, when I'm trying to connect to remote API using anguar2 http. Also my web server is receiving request and responding properly.

I'm able to make a successful curl request to the local server.

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 || { };
}

Upvotes: 11

Views: 22621

Answers (3)

kenadet
kenadet

Reputation: 255

Server unavailable issue, might be CORS or server went down.

Upvotes: 4

mansoor.khan
mansoor.khan

Reputation: 2616

I had the same error with a MEAN2 app. All I had to do was install the CORS middleware and use it with express.

Upvotes: 4

Asif
Asif

Reputation: 489

Hope this will helps someone.

The problem was with resource definition. When I'm trying to connect to remote resource using angular2 http.get, I was getting following error

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at …

FIX:

As I'm using flask-restful to build remote API, below fix solved my problem

from flask_restful.utils import cors
from flask_restful import Api

api = Api(app, decorators=[cors.crossdomain(origin='*')])

Complete source code will be available here : inventory-manager

Upvotes: 2

Related Questions