Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS indexOf始终返回-1_Javascript_Jquery_Indexof - Fatal编程技术网

Javascript JS indexOf始终返回-1

Javascript JS indexOf始终返回-1,javascript,jquery,indexof,Javascript,Jquery,Indexof,我有一个从CSV文件构建的数组,该数组构建得很好: 0: Array[80] 0: "AM" 1: "AX" 2: "AR" 3: "JR" 4: "AC" 5: "AF" etc... 然后,我尝试验证从文本输入中提取的字符串是否出现在数组中的某个点上。将创建文本输入值的变量,但indexOf始终返回-1 我最初认为比较的变量airlineCode可能是一个对象,这就是问题所在,但将其转换为字符串会得到相同的结果。在那之后,我想也许我可

我有一个从CSV文件构建的数组,该数组构建得很好:

0: Array[80]
    0: "AM"
    1: "AX"
    2: "AR"
    3: "JR"
    4: "AC"
    5: "AF"
    etc...
然后,我尝试验证从文本输入中提取的字符串是否出现在数组中的某个点上。将创建文本输入值的变量,但indexOf始终返回-1

我最初认为比较的变量airlineCode可能是一个对象,这就是问题所在,但将其转换为字符串会得到相同的结果。在那之后,我想也许我可以通过使用jQuery.inArray绕过indexOf,也得到了同样的结果。代码块如下所示:

$("#employeeLoginButton").click(function(){
    $.ajax({
        url: "/template/AirlineBlock/airlineCodes.csv",
        async: false,
        success: function (csvd) {
            data = $.csv2Array(csvd);
            var airlineCode = document.getElementById('airlineCode').value;
            airlineCode = String(airlineCode);
            var found = data.indexOf(airlineCode);
            console.log(airlineCode + found);

            if(found != -1) {
                sessionStorage.setItem("airlineVerified", true);
                window.location.href = "http://somesite.com";
            } else {
                alert("Nope")
            }
        },
        dataType: "text",
    });
});

为什么你有一个成功的和完整的功能?从我可以告诉你的数据可能是未定义的,除非你在全球范围内的某个地方。请记住,这是一个区分大小写的操作。还可能想检查AirlineCode中的空白@RocketHazmat试图说的是,complete将无规则地运行响应从服务器键入,如果响应正常,则运行success,如果响应错误,则运行fail。因此,既成功又完整是多余的