indexOf()函数总是返回零,即使具有相同的字符串

时间:2015-08-25 02:18:07

标签: javascript jquery ajax

我在javascript中有一个变量

var hidden = "class_code,other";

然后我有一个返回值的ajax

$.ajax({
type: "post",
data: $("#myform").serialize,
success: function(data){
    if(hidden.indexOf(data)){
    //mycode here
 }
}
});

但它不起作用,所以我尝试使用alert()打印hidden.indexOf(data)并始终返回 0 ,因此我尝试提醒数据并且它正在返回"class_code"

为什么即使隐藏的var包含数据,我的脚本也不起作用?

2 个答案:

答案 0 :(得分:6)

indexOf返回匹配字符串开头的位置。由于class_code位于class_code,other的开头,因此0。找不到字符串时,它会返回-1。测试是否找到字符串的正确方法是:

if (hidden.indexOf(data) != -1)

答案 1 :(得分:1)

.indexOf正在运行 - 字符串"class_code"从字符串"class_code,other"的第0个索引处开始。如果未包含该字符串,则返回-1