socket.io变量检查

时间:2012-01-15 17:20:32

标签: ajax node.js socket.io

好的,基本上我在ajax中有一个变量,我想发送到我的socket.io服务器来检查变量是否已经在json数组中。

的Ajax:

function isUniqueEmail(email) {
    //email checking script here
    $.get('info/mailcheck.js' + email, function(response) {
        if(response == 1) {
            alert("Your email is already on our list");
        }

        else {
            alert("We will add you shortly");
        };      
    })
};

json数组:

{"mail":
[
    "tom@gmail.com",
    "fred@gmail.com",
    "bob@gmail.com"
]}

socket.io部分是我困惑的地方。基本上它只需要变量(电子邮件)检查它是否已经在数组中,如果是,则返回1,否则返回零,并将其写入数组。

2 个答案:

答案 0 :(得分:0)

我对node.js了解不多,但你可以使用类似下面的函数来检查一个值是否在数组中,如果不是则将值推送到它。

function pushToArray(value, array) {
    function inArray(val, arr) {
        for (var i=0; i<arr.length; i++) {
            if (arr[i] == val) {
                 return true;
            } 
        return false;
    }
    if (inArray(value, array) {
        return 1;
    } else {
        array.push(value);
        return 0;
    }
}

答案 1 :(得分:0)

您是否对如何使用socket.io或如何在数组中找到元素感到困惑?如果您使用的是node.js,只需使用数组。 indexOf 方法:

//obj = {"mail": ["mail1@foo.com", "mail2@baz.com"]}
if (obj.mail.indexOf(email) != -1) {
  //We have your email!
}
else {
  //We don't
}