2015-11-02 7 views
15

私はAngularJs $HTTP GETによってバックエンドサービス/リソースを呼び出します。それが利用できない場合には、404返すとChromeネットワーク]タブは、以下のよう404であることを示しています

Request Method:OPTIONS 
Status Code:404 Not Found 

しかし内部$HTTPコール結果は、私がstatus=-1取得AngularJsなく404

{data: null, status: -1, config: Object, statusText: ""} 

それはなぜ起こるのですか?

NB) 私は、バックエンドの桟橋サービスがあり、CORSを有効化:

"Access-Control-Allow-Origin":"*" 
"Access-Control-Allow-Headers": "origin, content-type, accept, authorization" 
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS, HEAD" 

答えて

10

それは-1を返し跡が示すように、GETリクエストでも送信されていない、ので。送信されたのは、飛行前のOPTIONSリクエストであり、これは404を返すことにより、ブラウザが実際のGETリクエストを送信するのを妨げていた。

サーバーは、OPTIONS要求に対して404応答を返さないでください。 200応答を返します。