문제

스위치 문으로 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"또는 "거의"전송 된 매개 변수에 따라). 그러나 어떤 이유로 스위치는 항상 기본 조건을 평가합니다! 스위치 문 앞에 빈 문자열로 "결과"를 연결하려고했지만 운이 없습니다 ... 여기서 무엇이 빠졌습니까?

도움이 되었습니까?

해결책

결과에 라인 브레이크가 포함되어 있기 때문일 것입니다. 다음과 같이 트리밍하십시오.

var result = response.responseText;
result = result.replace(/^[\s\r\n]+|[\s\r\n]+$/g, "");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top