IE 11 Ajax问题

Sph*_*inx -3 javascript ajax jquery internet-explorer-11

所以Internet Explorer再次做到了.我目前有一个validation.php文件,其中文本框中的值被发送以进行验证.读取文本框值,然后给出结果,说明这是否有效.这适用于任何其他浏览器,但IE.ajax请求具体不起作用.任何帮助,将不胜感激.下面的脚本负责从输入框中获取数据并通过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
        } 
        });   
      } 
    });
  });
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 5

两个问题:

  1. username实际上,在作为URI的一部分发送之前,确实应该进行URI编码:( url: "validation.php?uname="+encodeURIComponent(username)或者让jQuery通过传递来实现data: {uname: username}).

  2. Array#includes并且String#includes都是JavaScript中的新东西.老式浏览器没有它们也就不足为奇了.

    如果需要,两者都可以填充(参见上面的链接),或者您可以使用indexOf:if (data.indexOf("result-from-validation") != -1)