IE 11 Ajax issue

IE 11 Ajax issue

本文关键字:issue Ajax IE      更新时间:2023-09-26

所以ie又来了。我目前有一个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#includesString#includes都是JavaScript中的新事物。旧版本的浏览器没有这些功能也就不足为奇了。

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