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?

War es hilfreich?

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
scroll top