2016-04-23 55 views
0

我正在嘗試兩個項目。第一個主要面向客戶端(AngularJS + MVC)開發,第二個主要面向服務器端,包括Web API。我想使用Web API作爲控制器。兩個項目之間的請求和響應

我將服務器端項目設置爲啓動項目。然後將其URL(localhost:.... /)設置爲控制器的URL,然後運行該項目。之後在瀏覽器中查看,我也看到了。 (來自客戶項目)。該請求正確地從第二個項目獲取到API控制器,但我沒有保留任何響應。我想這個問題是網址之間的差異。

您的意見是?那麼我該怎麼做?

回答

0

你得到了什麼樣的反應? 200(OK)狀態還是別的?如果您未在Web API上啓用CORS並且您正在從Angular項目的客戶端發出api請求,則可能會出現交叉請求錯誤。

+0

我在瀏覽器中檢查了調試模式,並且看到結果的長度爲744個字符。但答覆是空的。 – Elnaz

+0

沒有錯誤。 – Elnaz

+1

您是否檢查過從api等其他客戶端(chrome插件)撥打電話而不是從角度客戶端撥打電話時返回的內容。那就是測試API本身並檢查返回的響應是什麼。如果您看到您期望以這種方式返回的數據。這意味着你的API很好。問題是從角度客戶端調用你的api。 – SolomonT

0

請不要介意我可憐的英語。

兩個項目是否在同一個域上投放?如果沒有,可能會出現交叉原點請求錯誤。您可以通過添加一些標題來解決它,如下所示: 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

否請求的資源上存在'Access-Control-Allow-Origin'標頭。原因'http:// localhost:.......'因此不被允許訪問。但是,正如你所說,我被置於標題之下。我應該在我的web API項目中做什麼? – Elnaz

+0

你應該在響應中設置這些標題,而不是請求。 – luckyqiao