我在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包含数据,我的脚本也不起作用?
答案 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