Switchステートメントは常にデフォルトの条件を評価します
-
19-09-2019 - |
質問
私は、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...
}
}
});
私は、応答は(文字列:「OK」、「NOK」または「ほとんど」送信されたパラメータに依存する)正しいサーバースクリプトによって送信された「結果」の値をチェックします。しかし、いくつかの理由のためにスイッチが常にデフォルトの条件を評価します!私はここで何をしないのです... switch文の前に空の文字列と「結果」を連結しようとしたが、ない運?
解決
おそらく結果は、改行が含まれているため。以下のようなもので、それをトリミングしてみます:
var result = response.responseText;
result = result.replace(/^[\s\r\n]+|[\s\r\n]+$/g, "");
所属していません StackOverflow