проверка переменных socket.io - PullRequest
1 голос
/ 15 января 2012

Хорошо, в основном у меня есть переменная в 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 голосов
/ 15 января 2012

Вас смущает, как заставить это работать с 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
}
0 голосов
/ 15 января 2012

Я не знаю много о 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;
    }
}
...