Je reçois l'exception suivante lorsque j'essaie de me connecter à une API distante à l'aide de http anguar2. Mon serveur Web reçoit également une demande et répond correctement.
Je peux faire une demande de curl réussie au serveur local.
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 || { };
}
J'espère que cela aidera quelqu'un.
Le problème était lié à la définition des ressources. Lorsque j'essaie de me connecter à une ressource distante à l'aide de angular2 http.get
, J'obtenais l'erreur suivante
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at …
RÉPARER:
Comme j'utilise flask-restful
pour construire une API distante, le correctif ci-dessous a résolu mon problème
from flask_restful.utils import cors
from flask_restful import Api
api = Api(app, decorators=[cors.crossdomain(Origin='*')])
Le code source complet sera disponible ici: inventaire-gestionnaire
J'ai eu la même erreur avec une application MEAN2. Tout ce que j'avais à faire était d'installer le middleware CORS et de l'utiliser avec express.
Problème de serveur non disponible, peut-être CORS ou le serveur est tombé en panne.