IE 11 Ajax 问题

IE 11 Ajax issue

所以 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. username 真的,真的应该在作为 URI 的一部分发送之前进行 URI 编码:url: "validation.php?uname="+encodeURIComponent(username)(或者让 jQuery 通过传递为data: {uname: username}).

  2. Array#includes and String#includes都是JavaScript中的新事物。旧版浏览器没有它们也就不足为奇了。

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