2012-10-26 5 views
0

localhost : 3000에서 실행중인 레일 API가 있습니다. 내 phonegap 응용 프로그램에서 API를 통해 로그인하려고하는데, 오류 ("오류")가 발생하고 API에 도달하지 않습니다. 은 도메인 간 요청에 문제가있을 수 있지만 모바일에서는 그러한 것이 없다고합니다. 인터넷이 작동 중입니다.phonegap API 호출이 작동하지 않습니다.

내 아약스 :

$.ajax({ 
     url: 'localhost:3000/api/v1/login', 
     type: "POST", 
     dataType: "json", 
     data : {username:"demo",password:"demo"}, 
     success: function(data) { 
      navigator.notification.alert("ok"); 
     }, 
     error: function(xhr, textStatus, errorThrown) { 
       console.log("Error status " + status); 
     } 
});  

편집 2 - 당신은 로컬 IP 등을 사용 할

를 해결했다. 192.168.2.2 을 입력하고 ExternalHosts 키의 Cordova.plist에 호스트를 추가하십시오.

답변

0

장치/에뮬레이터에서이 코드를 실행할 때 "localhost"를 사용하고 있기 때문에 "localhost"는 레일스 API가 포함 된 웹 서버가 아니라 장치/에뮬레이터 자체를 참조하기 때문입니다. "localhost"를 서버의 IP 주소 또는 호스트 이름으로 전환해야합니다.

+0

이제 http://192.168.2.2:3000/api/v1/login을 시도해 보았습니다. –

+0

이 맞다면 ip가 당신을 위해 작동 하는지요? –

관련 문제