Оператор Switch всегда оценивает состояние по умолчанию
-
19-09-2019 - |
Вопрос
Мне нужно оценить ответ Ajax.Request (с использованием прототипа) с помощью оператора переключения:
new Ajax.Request('http://localhost/somescript.php',{method:'post',parameters:params,onSuccess:
function(response)
{
var result = response.responseText;
switch (result)
{
case "ok":
//do something...
break;
case "nok":
//do something...
break;
case "almost":
//do something...
break;
default:
//do something...
}
}
});
если я проверю значение «результата», отправленное серверным скриптом, ответ будет правильным (строка:«ок», «нок» или «почти» в зависимости от отправленных параметров).Но почему-то коммутатор всегда оценивает состояние по умолчанию!Я пытался объединить «результат» с пустой строкой перед оператором переключения, но безуспешно...Что мне здесь не хватает?
Решение
Вероятно, потому, что результат содержит разрыв строки.Попробуйте обрезать его чем-то вроде:
var result = response.responseText;
result = result.replace(/^[\s\r\n]+|[\s\r\n]+$/g, "");
Не связан с StackOverflow