Die Switch -Anweisung bewertet immer die Standardbedingung
-
19-09-2019 - |
Frage
Ich muss die Reaktion eines Ajax.request (mit Prototypen) mit einer Switch -Anweisung bewerten:
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...
}
}
});
Wenn ich den Wert von "Ergebnis" überprüfe, das vom Serverskript gesendet wird, ist die Antwort korrekt (eine Zeichenfolge: "OK", "NOK" oder "fast" abhängig von den gesendeten Parametern). Aber aus irgendeinem Grund bewertet der Switch immer die Standardbedingung! Ich habe versucht, das "Ergebnis" mit einer leeren Zeichenfolge vor der Switch -Anweisung zu verkettet, aber kein Glück ... was fehlt mir hier?
Lösung
Wahrscheinlich, weil das Ergebnis eine Zeilenunterbrechung enthält. Versuchen Sie es mit so etwas wie:
var result = response.responseText;
result = result.replace(/^[\s\r\n]+|[\s\r\n]+$/g, "");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow