2014-02-15 3 views
0

Когда у меня есть этот код на стороне клиента:NodeJS: свойство изменения сбоя сервера

socket.emit("requestUsername", { 
    value: $("#inputUsernameg").val() 
}); 

И это, как стороне сервера:

socket.on('requestUsername', function(username) { 
    if (username.value.trim() == '') { 
     socket.emit('error', { value: 'error2' }); 
    } 
)}; 

Но когда я меняю на стороне клиента код:

socket.emit("requestUsername", { 
     trolol: $("#inputUsernameg").val() 
    }); 

Я получаю сбой сервера: server crash

Итак, если я могу свернуть сервер на стороне клиента, другие могут тоже, как это сделать?

+0

** ALWAYS ** проверить ввод пользователя ... – Sirko

+0

Что такое вывод 'console.log (username)'? , Если вы создаете код на стороне сервера, чтобы он обрабатывал все возможности; пользователи не могут сбой вашего сервера. Или, может быть, они могут. но меньше возможность. И да. Регулярно проверяйте 'INPUTS'. – alix

+0

Спасибо, я сделаю это! – DazDylz

ответ

1

Самым простым решением было бы проверить значение до обрезки:

if (!data.value) { 
    socket.emit('value is missing); 
    return; 
} 
// rest of your code 

Вы также можете поместить ваш запрос кода обработки в try блоке и испускают ошибку в catch блоке (вменяемый код будет еще проверить вход).

+0

Удар, вы, работает. – DazDylz

Смежные вопросы