2016-10-12 4 views
-3

그래서 인터넷 익스플로러가 다시 시도합니다. 현재 validation.php 파일에 유효성 검사를 위해 텍스트 상자의 값이 전송됩니다. 텍스트 상자 값을 읽은 다음 결과가 유효한지 여부를 알려줍니다. 이것은 IE를 제외한 다른 브라우저에서는 완벽하게 작동합니다. 아약스 요청은 특별히 작동하지 않습니다. 어떤 도움을 주시면 감사하겠습니다. 아래 스크립트는 입력 상자에서 데이터를 가져와 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

당신이 방법은 ($이 _ REQUEST) – EaBangalore

+0

가이 같으면 아무 것도 현명에서 print_r 없습니다 다른 지정 지정하지 않은 다른 브라우저에서 작동하는 경우 IE에서 작동하지 않습니다. 특정 오류가 있습니까? 지금까지 뭐 해봤 어? – Styphon

+3

@typhon 귀하의 진술은 절대적으로 사실이 아닙니다. 당신은 당신의 말씨를 조정하고 싶을지도 모른다. – SOFe

답변

5

두 가지 문제 :

  1. username이 정말, 정말 있어야 할 URI의 한 부분으로 보내지기 전에 URI는 인코딩 : url: "validation.php?uname="+encodeURIComponent(username) (또는 jQuery를이 data: {uname: username}로 전달하여 그것을 할 수 있습니다).

  2. Array#includesString#includes은 모두 JavaScript의 새로운 기능입니다. 구식 브라우저가 가지고 있지 않다는 것은 놀라운 일이 아닙니다. 원하는 경우

    이 polyfilled 할 수 있습니다 (위 링크 참조), 또는 당신은 아마 indexOf를 사용할 수 있습니다 if (data.indexOf("result-from-validation") != -1)

+1

감사합니다. 'Array # includes'가 문제였습니다. 인코딩도 추가했습니다. 매우 감사 – Sphinx