Оператор Switch всегда оценивает условие по умолчанию - PullRequest
1 голос
/ 11 января 2010

Мне нужно оценить ответ Ajax.Request (используя прототип) с оператором switch:

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...
        }
    }
    });

если я проверяю значение «результата», отправленного серверным скриптом, ответ правильный (строка: «ок», «нок» или «почти» в зависимости от отправленных параметров) Но по какой-то причине коммутатор всегда оценивает состояние по умолчанию! Я попытался объединить «result» с пустой строкой перед оператором switch, но не повезло ... Что мне здесь не хватает?

1 Ответ

0 голосов
/ 11 января 2010

Возможно, потому что результат содержит разрыв строки. Попробуйте обрезать его чем-то вроде:

var result = response.responseText;
result = result.replace(/^[\s\r\n]+|[\s\r\n]+$/g, "");
...