与客户端相比,Javascript indexOf在服务器端的行为有何不同?

时间:2013-06-13 13:26:59

标签: javascript arrays string comparison indexof

我们的网站在.asp上运行javascript,而indexOf函数的行为与我的预期不符。请参阅下面的示例(对于示例,同样更改了一些变量。但是所有类型都相同):

var SID = "foo";
var getCookie = "foo##%##bar##%##bloo"
var cookieArr = getCookie.split("##%##");

if(cookieArr.indexOf(SID)!=-1){
    console.log("found") //found
} else {
    console.log("not found") //not found
}

这在控制台中可以正常工作,但是当在服务器上运行时,它会在if语句行上返回“Object不支持此属性或方法”。

我注意到将检查更改为'cookieArr [0] .indexOf(SID)!= - 1'在服务器端解析为true但是这显然不好,因为我告诉它在哪里看。

如果这是一个已知的行为,我应该使用什么解决方案来搜索数组中是否存在值?

编辑:

现在使用下面的脏方法,但如果有人知道为什么上述方法不起作用,仍会感兴趣

function checkArrForString(str,arr){
    for(x=0;x<arr.length;x++){
        if(arr[x]==str){
            return x;
        }
    }
    return -1;
}

0 个答案:

没有答案