我正在尝试将数据发布到我的 AIR for Android 应用程序中的外部 URL 以登录用户。它适用于我电脑上的 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 );
}