我在調用API時遇到了一個問題,請讓我首先解釋架構。Angular 1.5,錯誤響應狀態總是-1
所有字體端應用操作系統AngularJS基於1.5,託管在域象下面這樣: app1.mydomain.com,app2.mydomain.com,appN.mydomain.com
我有一個API(基於Symfony2的 - FOS休息),它是:
api.mydomain.com
服務器是Nginx的,PHP5(FPM),CORS開放。現在
,讓我們描述的問題:
林呼籲一些數據的API端點:
var data = {someProperty: someValue};
var $p = $resource($rootScope.apiDomain + '/some/endpoint', {}, {
get: {
method: 'GET'
}
}).get(data).$promise;
var request = $q.all({request: $p});
return request
.then(function (response) {
// code on success
}, function (error) {
// code on error
});
現在,讓我們說,服務器的響應是任何400的還是500的,然後在ResponseError(攔截)的我「已經應該得到這個代碼爲‘狀態’值
responseError: function (response) {
if (403 === response.status) {
// something on 403
}
// do something on other codes
return $q.reject(response);
}
無論哪個響應代碼是從後端服務器發回的response
對象包含以下內容:
Object {data: null, status: -1, config: Object, statusText: ""}
但是...我見過THIS ANSER,這基本上是我現在要做的有...
所以:
- 有什麼辦法來解決這樣的問題(我有,讓我們假設在任何方式的前面&前配置充分的可能性)
- 如果它不是很容易「解決」,那麼如何?
這看起來像一個CORS問題。控制檯說什麼?網絡專家小組對這種迴應有何評論? –
是的,它是CORS。確保你在前端和後端設置CORS,如果你谷歌的信息加載,但讓你開始繼承人類似的問題http://stackoverflow.com/questions/21455045/angularjs-http-cors-and-http-authentication – Chris
謝謝對於答覆,基本上如我所說,我有CORS打開如下:[pastebin](http:// pastebin。com/aMHye04D) @JBNizet控制檯說正確的ResponseCode(即403) – kptLucek