2016-10-12 6 views
-3

だから、インターネットエクスプローラはもう一度やります。私は現在validation.phpファイルを持っており、テキストボックスの値は検証のために送られます。テキストボックスの値が読み込まれ、結果が有効であるかどうかが示されます。これはIE以外のブラウザでも完全に機能します。 Ajaxリクエストは特に機能しません。どんな助けもありがとう。以下のスクリプトは、入力ボックスからデータを取り出し、AJAX経由でリクエストを送信することを担当しています。IE 11 Ajaxの問題

$(document).ready(function() { 
    $("#email").blur(function() { 
     var username = $(this).val(); 
     if (username == '') { 
     $("#availability").html("Empty Input"); 
     } 
     else{ 
     $.ajax({ 
      url: "validation.php?uname="+username 
     }).done(function(data) { 
     if (data.includes("result-from-validation")){ 
      //DO SOMETHING 
     } 
     else { 
     // DISPLAY ERROR 
     } 
     }); 
     } 
    }); 
    }); 
+0

あなたはメソッドが他の賢明ますprint_r($ _ REQUEST)を指定指定されていませんでした – EaBangalore

+0

何もそれwouldnはありありませんそれが他のブラウザで動作する場合、IE上で動作しません。特定のエラーが発生していますか?これまでに何を試しましたか? – Styphon

+3

@typhonあなたの声明は絶対に真実ではありません。あなたはあなたの表現を調整したいかもしれません。 – SOFe

答えて

5

2つの問題:url: "validation.php?uname="+encodeURIComponent(username)(またはjQueryのdata: {uname: username}として渡すことでそれをやらせる):

  1. username本当に、本当にURIの一部として送信される前に、URIでエンコードする必要があります。

  2. Array#includesString#includesは、JavaScriptの新機能です。古いブラウザにはそれがないことは驚くことではありません。必要に応じて

    の両方が(上記のリンクを参照してください)polyfilledすることができ、またはあなたはおそらくindexOfを使用することができます。if (data.indexOf("result-from-validation") != -1)

+1

ありがとう、それは問題だった 'Array#includes'のようです。エンコーディングも追加しました。とても有難い – Sphinx