Switch语句始终评估默认条件

时间:2010-01-11 15:13:38

标签: javascript string prototypejs switch-statement

我需要使用switch语句评估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...
        }
    }
    });

如果我检查服务器脚本发送的“result”的值,则响应是正确的(字符串:“ok”,“nok”或“几乎”,具体取决于发送的参数)。但由于某种原因,开关总是评估默认条件!我尝试在switch语句之前将“result”与空字符串连接起来,但没有运气......我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

可能是因为结果包含换行符。尝试用以下方法修剪它:

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