2016-09-21 5 views
1

私は&を選択するフォームを持っており、SQLテーブルを更新しています。JQuery AJAXはInternet Explorerに表示されません

JS:

<script> 
$(document).ready(function(){ 
    function fetch_data() 
    { 
     $.ajax({ 
      url:"select.php", 
      method:"POST", 
      cache:"false", 
      success:function(data){ 
       $('#live_data').html(data); 
      } 
     }); 
    } 
    fetch_data(); 

    function edit_data(id, text, column_name) 
    { 
     $.ajax({ 
      url:"edit.php", 
      method:"POST", 
      cache:"false", 
      data:{id:id, text:text, column_name:column_name}, 
      dataType:"text", 
      success:function(data){ 
       $('#updatesucess').html(data); 
        $('#updatesucess').delay(2000).fadeOut(300); 
      } 
     }); 
    } 
    $(document).on('blur', '.OilProd', function(){ 
     var id = $(this).data("id2"); 
     var OilProd = $(this).text(); 
     edit_data(id, OilProd, "OilProd"); 
    }); 
    }); 
</script> 

フォーム:

<html> 
    <head> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
     <title>Live Table Data Edit</title> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 

    </head> 
    <body> 
     <div class="container"> 
      <div class="row"> 
      <div class="col-lg-12"> 
       <div class="panel panel-default"> 
        <div class="panel-heading"> 
         <strong>Kodiak Daily Production 
        </strong> 
        </div> 
        <!-- /.panel-heading --> 
        <div class="panel-body"> 


      <div class="table-responsive"> 
       <div id="updatesucess"></div> 
       <p></p> 
       <div id="live_data"></div>     
      </div> 
     </div> <!-- close panel body --> 
     </div> <!-- panel panel-default --> 
     </div> <!-- close col-lg-12 --> 
     </div> <!-- close row --> 
     </div> <!-- Close Container --> 
    </body> 
</html> 

次のコードは、FirefoxとChromeではなく、IE8/9でPHPの内容を表示します。

私は、次の

設定キャッシュ試してみました: 、 "偽" 非同期:偽、投稿するには、Getから変更 が、ノー行きます。

これをInternet Explorer 8-11で動作させるには、他に何が必要ですか?

UPDATE:

は、HTMLで次のタグを追加しましたし、今、少なくとも表示データすることができますが、フォーム上の任意の編集を行うことができません。

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
+0

あなたのIEチェックで無効にされている可能性があります。 –

+0

javaスクリプトが有効です。 – user2912702

+0

データのalert(data)またはconsole.log(data)をsuccess {}ブロックの最初の行として表示してください。私はjQuery関数の1つがIEで失敗するかもしれないと思う –

答えて

0

何らかの理由で、Internet Explorerでキャッシュに関する問題が発生することがあります。 Internet Explorerコンソールの[ネットワーク]タブにチェックを入れると、ajaxリクエストに対して304のステータス(変更されていない)が表示されます。私はこれを経験したことがあり、要求がInternet Explorerによってブロックされ、サーバーに到達しないようです。

乱数を持つgetパラメータをajax関数に追加することで、この問題を解決できます。

$.ajax({ 
     url:"select.php?breakcache=" + Math.random(), 
     method:"POST", 
     cache:"false", 
     success:function(data){ 
      $('#live_data').html(data); 
     } 
}); 
+0

コードを変更して編集することはできません。 – user2912702

0

IE11を実行し、X-UA-互換性の指定にもかかわらず、あなたはまだIEが使用しているレンダリングモードかどうか確認する必要があります。特に、Quirksモードを使用していないことを確認してください。これはAjax(と他の多くの機能も)を確実に殺すためです。

あなたのHTMLコードにDOCTYPEが含まれておらず、欠落しているdoctypeが自動的にIEをquirksモードにジャンプさせるため、これが問題であると思われます。

は(すぐに<html>タグの上)あなたのHTMLファイルの先頭にHTML5のDOCTYPEを追加することで、この問題を修正:

<!DOCTYPE html> 

これは、問題を解決する必要があります。

+0

タグ '<!DOCTYPE html>'が追加されましたが、まだ実行されていません。 – user2912702

関連する問題