2016-08-10 13 views
2

IE9でREST APIへのAjax呼び出し中に問題が発生しています。 IE 9では成功レスポンスが得られませんが、他のブラウザでは正常に動作しますが、Chrome、FF(IE 10の場合でも& 11)でも正常に応答します。 Internet Explorer 9で「アクセスが拒否されました」というエラー応答が表示され、コンソールにHTML1300:Navigationが表示されます。 また、このajax呼び出しは、httpからhttpsへの呼び出しです。IE 9問題:Ajaxコールで成功レスポンスが得られない

私もjsonpを使ってみましたが、APIはjsonp応答を返しませんでした。 注:これは単純なアプリケーションであり、バックエンドは関係しません。

以下は私のAjaxコードです。

$.ajax({ 
     type: 'GET', 
     url: 'https://myurl to REST API/', 
     dataType: 'json', 
     contentType: "application/json, 
     data: { 
      'select': "sum(message_count)", 
      'timeRange': timeInterval 
     }, 
     headers: { 
      "Authorization": "Basic " + btoa(AppFramework.constants.USER_NAME + ":" + AppFramework.constants.PASSWORD) 
     }, 
     success: function(result) { 
      AppFramework.messageCcount = result.environments[0].metrics[0].values[0]; 
      console.log(AppFramework.messageCcount); 
     }, 
      error: function(xhr, status, error) { 
      alert(error); 
    } 
    }); 

すべてのヘルプは、私はあなたが今、IE9に関する質問をしている理由はわからないが、それでも、ここで答えを提供します

答えて

0

をにappriciated。

AJAXリクエストでcacheプロパティをfalseに設定してみてください。古いバージョンのIEでは、すべてのAJAXリクエストをキャッシュする傾向があり、ブラウザが更新された結果を使用することはできません。あなたのURLの末尾に(可能ならば、現在の時間)の動的文字列を追加してみます - GETからPost

  1. 変化型
  2. てみキャッシュ防止:あなたはこれを克服するには次のいずれかまたはすべてを使用することができます要求。これにより、すべての要求が一意になります&は、ブラウザがキャッシュされた応答を使用しないようにします。
  3. レスポンスヘッダーで、"Cache-Control","no-cache,no-store"を追加して、ブラウザにこの要求のキャッシュを無効にするよう明示的に指示してください。
  4. キャッシュを無効にするには、AJAX呼び出しで "cache:false"を単に追加します。
関連する問題