2013-12-10 6 views
0

저는 Angularjs를 사용하는 웹 응용 프로그램을 만들고 있습니다. 내 컨트롤러 중 하나에서 사용자의 현재 로그인 상태를 반환하는 백엔드 호출을합니다.문자열 http 응답! = javascript에서 같은 문자열

$http.get('http://localhost:3000/status') 
    .success(function(status) { 
     if (status == 'internal') { 
     // do stuff... 

요청이 'internal'과 같은 상태로 응답하는 경우에도 (status == 'internal') false로 평가됩니다. 이 테스트하려면 조금 여기 짜서 갈 수 있는지에 대해

string 
    "internal" 
    false 

어떤 아이디어를 인쇄

$http.get('http://localhost:3000/status') 
    .success(function(status) { 
     console.log(typeof status) 
     console.log(status) 
     console.log(status == "internal") 

넣어?

+1

당신이 3 평등 마크를 사용할 때 어떻게됩니까? '(status === 'internal')'또한 여분의 공백이있을 수 있습니까? – yuvi

+2

여분의 공백이 전송되지 않도록하십시오. 상태 길이와 테스트 문자열의 길이를 비교하십시오. – charlietfl

+0

@yuvi 같은 것 –

답변

7

죄송합니다. Chrome을 사용하는 경우에만 유효한 답변입니다. Firefox 처럼 보입니다. 문자열을 콘솔에 따옴표로 묶습니다.


문자열에 여분의 따옴표가 있습니다. console.log(string)에는 따옴표가 표시되지 않습니다. 관찰 : 당신이 당신의 문자열 주위에 여분의 따옴표가있는 경우 대신 internal"internal"을보고있는

console.log("what") 
what 

수있는 유일한 방법입니다.

2

이 당신을 위해 무엇을 찾고있는 사람이어야한다 :

console.log(status == '"internal"');