2013-07-15 1 views
2

Android 용 AIR 앱의 외부 URL에 데이터를 POST하여 사용자 로그인을 시도하고 있습니다. 그것은 내 PC의 플래시 디버거에서 작동하지만 내 안드로이드 장치에서 작동하지 않습니다. 내 앱에 인터넷 사용 권한이 설정되어 있습니다. 청취자가 IO_ERROR 및 SECURITY_ERROR에 대해 설정했지만 이들 중 하나도 실행되지 않습니다. 그냥 거기에 달려 있고 장치에서 테스트 할 때 아무것도하지 않지만 디버그 플레이어에서 제대로 작동합니다!URLRequest에서 POST 데이터를 보내는 Android 용 AS3 AIR 3.5

는 편집 :은 이미 답을 검색 한 내가 온 가장 가까운이 있었다 : AS3 AIR URLLoader POST 내 요청에 내용 유형을 지정 제안하는,하지만 그건 내 문제

EDIT가 해결되지 않습니다 또한 서버에 업로드하고 crossdomain.xml을 요청 된 사이트에 추가 할 때도 작동합니다.

내가 IDE에서 만든 두 개의 텍스트 필드에서 사용자 이름과 암호를 잡는했다 글쎄, 나는 마침내 그것을 손톱 관리

public static function login(user:String, pass:String):void 
    { 
     username = user; 
     var request:URLRequest = new URLRequest("http://mysite.com/"+user+"/login.json"); 
     request.method = URLRequestMethod.POST; 
     request.contentType = 'application/x-www-form-urlencoded'; 

     var variables:URLVariables = new URLVariables(); 
     variables.p = pass;    
     request.data = variables; 

     var requestor:URLLoader = new URLLoader(); 
     requestor.addEventListener(Event.COMPLETE, loginRequestComplete); 
     requestor.addEventListener(IOErrorEvent.IO_ERROR, httpRequestError); 
     requestor.addEventListener(SecurityErrorEvent.SECURITY_ERROR, httpRequestError); 
     requestor.load(request); 
    } 
+0

위의 코드는 나에게 잘 보이는 ... 어쩌면 당신은 당신의 서버 (오류 또는 전체가 아닌) 어떤 식 으로든 반응 않으면보기 위해이 HTTPStatusEvent 리스너를 추가 할 수 있습니다. –

+0

HTTP 응답 코드에 대한 수신기를 추가했습니다. 그것은 400으로 돌아오고 있는데, 이것은 사용자 자격 증명이 올바르지 않을 때 얻어야 만합니다. 문제는 확실히 맞습니다. 디버그 플레이어에서 똑같은 사용자와 패스가 작동합니다. – user2583270

답변

0

....

사용자 이름의 텍스트 필드가 원인이 온라인 또는 디버거 버전에는 문제가 발생하지 않습니다,하지만 내 안드로이드 장치의 텍스트 필드에 줄 바꿈을 추가 여러 줄로 설정 한 내 API는 400

가 그것을 변경 돌아갑니다 한 줄의 텍스트 필드와 문제가 해결되었습니다.

미친 :