2016-03-10 8 views
8

最近、jQueryの使用からReduxでの同形フェッチの使用に移行しました。 IEで動いているとき、それはうまくフェッチすることを管理する。ただし、Chromeで実行しているときは次のようになります。Chromeでは401(Unauthorized)ですが、IEではありません

Failed to load resource: the server responded with a status of 401 (Unauthorized) 

Web APIがWindows認証を有効にしていることに注意してください。あなたは、サーバー上のクッキーベースの認証を持っている

export const fetchSearchResults = (name) => { 
    return (dispatch) => { 
    dispatch(requestSearchResults(name)) 
    return fetch(API URI HERE) 
     .then(response => response.json()) 
     .then(json => { 
     console.log('Fetch: ' + json.message.features.length) 
     dispatch(receiveSearchResults(json)) 
     }) 
    } 
} 
+0

http://stackoverflow.com/questions/29782222/jquery-ajax-call-results-in-401-unauthorized-response-when-in-chrome-or-firefo –

+1

デバッグのヘルプを求める質問(「why isn 'このコードは動作していますか? ")には、必要な動作、特定の問題またはエラー、および質問自体の中でそれを再現するのに必要な最短コードが含まれていなければなりません。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:[最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve) –

+0

@CanÜrek私の質問は同形フェッチに関連しています.jQueryはクロスブラウザーとして機能します。 –

答えて

24

私が思う:

はここでフェッチ実行するコードです。この場合、 fetchの場合は credentialsというキーに関連している可能性があります。あなたのクッキーを送る常にjQueryの を使用していますが、同じ起源(ドメイン)に要求を行う場合 fetchを使用すると、あなたが

  • same-origincredentialsオプションを渡す必要がありXHRリクエスト、
  • includeそう
このよう

... 
fetch(API_URI_HERE, {credentials: 'same-origin'}) 
... 

fetch polyfillはXHR要求をフードの下で使用するため、IEで動作すると仮定します。

+0

私はこれを打つつもりですが、これはまさに問題のようです。ありがとうございました! –

+1

完璧に作業しました! –

関連する問題