IE 11 Ajax问题

时间:2016-10-12 11:54:21

标签: javascript jquery ajax 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
        } 
        });   
      } 
    });
  });

1 个答案:

答案 0 :(得分:5)

两个问题:

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

  2. Array#includesString#includes都是JavaScript中的新功能。老式浏览器没有它们就不足为奇了。

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