AS3 AIR 3.5 for Android在URLRequest中发送POST数据

时间:2013-07-15 11:29:14

标签: android actionscript-3 air urlrequest

我正在尝试将数据发布到我的AIR for Android应用中的外部网址以登录用户。它在我的电脑上的Flash调试器中工作,但在我的Android设备上不起作用。我为我的应用设置了Internet权限。我为IO_ERROR和SECURITY_ERROR设置了监听器,但这些都没有被触发。它只是挂在那里,当我在设备上测试时什么都不做,但它在调试播放器中工作正常!?!?

编辑:我已经搜索了答案,我最接近的是:AS3 AIR URLLoader POST建议在我的请求中指定内容类型,但这并不能解决我的问题问题

编辑:当我将其上传到服务器并将crossdomain.xml添加到请求的网站时,它也可以使用。

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 ); 
    } 

1 个答案:

答案 0 :(得分:0)

好吧,我终于成功了......

我从ide中创建的两个文本字段中获取了用户名和密码。

用户名文本字段设置为多行,这在联机或调试版中没有引起任何问题,但在我的Android设备上的文本字段中添加了换行符,导致我的api返回400.

将其更改为单行文本字段并解决问题。

疯狂:)