2016-04-23 11 views
0

Ich versuche, an 2 Projekten zu arbeiten. Der erste ist hauptsächlich für die Client-Seite (AngularJS + MVC) entwickelt und der zweite ist Server-Seite, einschließlich Web-APIs. Ich möchte Web-APIs als Controller verwenden.Anfrage und Antwort zwischen zwei Projekten

Ich habe das serverseitige Projekt als Startprojekt festgelegt. Legen Sie dann die URL (localhost: ....) als URL des Controllers fest und führen Sie das Projekt aus. Danach mit der Ansicht im Browser, lief ich auch meine Sicht. (Aus dem Client-Projekt). Die Anfrage wird korrekt vom zweiten Projekt an den API-Controller gesendet, aber ich habe keine Antwort reserviert. Ich denke, das Problem ist der Unterschied zwischen URLs.

Was ist Ihre Meinung? Und was soll ich dann tun?

Antwort

0

Welche Art von Antwort erhalten Sie? 200 (OK) Status oder etwas anderes? Sie erhalten möglicherweise einen orgin-Fehler, wenn Sie CORS auf der Web-API nicht aktiviert haben und die API-Anforderung von der Client-Seite des Angular-Projekts ausführen.

+0

Ich habe im Debug-Modus im Browser überprüft und ich sah die Länge des Ergebnisses ist 744 Zeichen. Aber die Antwort ist leer. – Elnaz

+0

Es gibt keinen Fehler. – Elnaz

+1

Haben Sie überprüft, was die API zurückgibt, wenn Sie von einem Rest-Client wie POSTMAN (Chrome-Plugin) statt vom angularen Client anrufen. Das testet die API selbst und überprüft, welche Antwort zurückgegeben wurde. Wenn Sie sehen, dass die erwarteten Daten auf diese Weise zurückgegeben werden. Das bedeutet, dass deine API in Ordnung ist. Das Problem besteht darin, Ihre API vom eckigen Client aus aufzurufen. – SolomonT

0

Bitte beachten Sie mein schlechtes Englisch.

Werden zwei Projekte auf derselben Domain geschaltet? Wenn nicht, liegt möglicherweise ein Kreuzherkunftsanforderungsfehler vor. Sie können es beheben, indem Sie einige Überschriften wie folgt hinzufügen: header('Access-Control-Allow-Origin','*'); header('Access-Control-Allow-Methods', 'GET,POST,DELETE,PUT,PATCH'); header('Access-Control-Allow-Headers','Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With');

+0

Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Herkunft 'http: // localhost: .......' ist daher nicht erlaubt. Aber ich war Kopf, wie du gesagt hast. Was soll ich in meinem Web-API-Projekt tun? – Elnaz

+0

sollten Sie diese Header in Ihrer Antwort setzen, nicht anfordern. – luckyqiao