2016-05-27 5 views
0

を通じて得ていない応答します。現在、他のブラウザでも問題なく動作しています。jQueryのAjax呼び出しは、私はIEで動作するようにJSON形式の応答とのAJAX呼び出しを行うにしようとしていますが、何も起こりません

私はアヤックスとIEといくつかの一般的な問題があることを、多くの場所を読んでいるが、解決策のどれも助けませんでした。

Iはまた、$ .ajaxSetup({キャッシュ:偽を})を使用して試みました。しかし、それはそれを修正しません、それはキャッシュとは関係がないようです。

私は非常に感謝します。

コードが下に貼り付けられています。

JS:

$(document).on("submit", ".loginForm", function(event) { 

event.preventDefault(); 

var url=$(this).attr("action"); 
$.ajax({ 
    url: url, 
    type: 'POST', 
    data: new FormData(this), 
    processData: false, 
    contentType: false, 
    datatype: "json", 
    success: function (data, status) 
    { 
     if(data.success == "success"){ 
      window.location.replace("dashboard.php"); 
     } else { 
      $('#loginResponse').html(data.success).css("color", "red").fadeIn().delay(2000).slideToggle(); 
     } 
    } 
}); 

})。

PHP:長い時間のデバッグの後

header("Content-Type: application/json", true); 

    if(isset($_POST['submit_login'])) { 

    $username = $_POST['username']; 
    $password = $_POST['password']; 

    $sql = 'SELECT user_id, first_name, password FROM arbor_admin_users WHERE username=?'; 

    $stmt = $connection->prepare($sql); 
    $stmt->bind_param('s', $username); 
    $stmt->bind_result($uid, $fn, $pwhash); 
    $stmt->execute(); 
    $stmt->store_result(); 
    if($stmt->num_rows > 0) { 
     while($stmt->fetch()){ 


    //  if ($password === $pw) { 
      if (password_verify($password, $pwhash)) { 
      session_start(); 
      $_SESSION['logged_in'] = $uid; 
      $_SESSION['firstname'] = $fn; 
//   header("Location: ../dashboard.php"); 
      echo json_encode(array('success'=>"success")); 
      exit(); 

      } else { 

     echo json_encode(array('success'=>"Wrong username or password!")); 

      } 
     } 
    } else { 
     echo json_encode(array('success'=>"Wrong username or password!")); 
    } 
} 
+0

を解決 '何もhappening'エラーがコンソールではありませんか?リクエストを送信するのか、それとも何ですか? IEのみ?どのIEバージョン?ブラウザのキャッシュはどうですか?少なくともサブミットイベントが発生したことを確認してください –

+0

コンソールは私には何も与えません、そしてはい。唯一のIEです、そしてこれまでのところ、それは他のブラウザではすべてのIEバージョンと思われますが、完璧に動作します。 :( –

+0

私は。私は、キャッシュされたリクエストの話ではない。そして、まだあなたが提出するよりも確認することができますイベントが! –

答えて

0

、私は

data: new FormData(this), 

がIEで送信ボタンを含むが、他のすべてのブラウザでいないことが分かりました。

だから、それを修正するために、私はちょうど削除:

if(isset($_POST['submit_login'])) { 

と問題が:)

関連する問題