스위치 명령문은 항상 기본 조건을 평가합니다
-
19-09-2019 - |
문제
스위치 문으로 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, "");
제휴하지 않습니다 StackOverflow