2016-07-09 25 views
11

Ich bekomme folgende Ausnahme, wenn ich versuche, mit anguar2 http eine Verbindung zur Remote-API herzustellen. Auch mein Web-Server empfängt die Anfrage und antwortet richtig.AUSNAHME: Antwort mit Status: 0 für URL: null in angular2

Ich bin in der Lage, eine erfolgreiche Curl-Anfrage an den lokalen Server zu machen.

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

Nicht sicher, aber versuchen Sie es, wenn es funktioniert .. Chang> 'Observable zu Observable ' und 'return body.data || {} um Körper zurückzugeben || {} ' – micronyks

+0

Kein Glück, immer noch die gleiche Ausnahme. Ich glaube, das hat etwas mit der Antwort zu tun, die ich vom Server bekomme. – Asif

Antwort

2

hoffen, dass dies jemand hilft.

Das Problem war mit der Ressourcendefinition. Wenn ich versuche zu Remote-Ressource verbinden angular2 mit http.get, war ich immer folgenden Fehler

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

UPDATE:

Wie ich flask-restful bin mit Remote-API zu bauen, unten fix mein Problem gelöst

from flask_restful.utils import cors 
from flask_restful import Api 

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

kompletter Quellcode wird hier zur Verfügung: inventory-manager

+0

Wo ist 'Api'? Welche Bibliothek soll ich importieren? –

+0

Sie müssen es aus Flasch-Restful-Paket wie folgt importieren "aus Flask_restful Import Api", können Sie den vollständigen Quellcode hier überprüfen https://github.com/asifpy/inventory-manager – Asif

+0

Buddy, sagte Sie in Frage, dass Sie versuchen, auf Ihren eigenen Server zuzugreifen, aber kein Erfolg, Sie verwendeten Cors, warum? Haben Sie implementiert, um Cross-Ursprungs-Anfragen auf Ihrem eigenen Server zu blockieren? Buddy Ich habe meinen eigenen Server api (gemeine Anwendung) mit Express aber immer gleichen Fehler, kein Glück – blackHawk

4

ich hatte den gleichen Fehler mit einer MEAN2 App. Alles, was ich tun musste, war die Installation der Middleware und die Verwendung mit Express.

+0

Getting same error installiert und verwendet cors Middleware, kein Glück, könnten Sie geben Beispiel – blackHawk

+0

bekommen den gleichen Fehler mit was? Sie sollten eine neue Frage mit Ihrem Code posten. –

+0

bereits gepostete Frage, werfen Sie einen Blick http://StackOverflow.com/Questions/41144243/err-connection-closed-exception-response-with-status-0-for-url-null?noredirect=1#comment69491176_41144243 – blackHawk

3

Server nicht verfügbar Problem, möglicherweise CORS oder Server ging.

+2

Dies ist keine besonders hilfreiche Antwort, wenn man bedenkt, dass die Frage 8 Monate zuvor gestellt wurde und bereits akzeptiert hat Antworten. – Claies

+0

@Claies, Obwohl es eine akzeptierte Antwort hat, ist die Frage eher allgemeiner! Und die akzeptierte Antwort löst das Problem möglicherweise nicht für jeden Besucher. –

+0

@AshishRanjan vielleicht, aber dies bietet keine Antwort oder irgendeine umsetzbare Lösung. Dies ist eine Theorie und ist bestenfalls ein Kommentar. – Claies