Flex AS3 - 无法发送POST数据

时间:2012-10-25 00:43:10

标签: php actionscript-3 flex post air

这将是AS代码(Flex / AIR平台)的想法:

protected function login_btn_login_clickHandler(event:MouseEvent):void
{

    var urlLoader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest(config.domain+'/oms/request/user/login');

    Alert.show(login_inp_username.text) // OK!
    var requestVars:URLVariables = new URLVariables();
    requestVars.username = login_inp_username.text;
    requestVars.password = login_inp_password.text;

    request.data = requestVars;
    request.method = URLRequestMethod.POST
    urlLoader.load(request);


    urlLoader.addEventListener(Event.COMPLETE,login_evt_complete);
    urlLoader.addEventListener(IOErrorEvent.IO_ERROR,login_evt_ioerror);


}

protected function login_evt_ioerror(e:Event):void {
        Alert.show('IO Error: Check connection')
}

protected function login_evt_complete(e:Event):void {
        //  var response:XML = e.currentTarget;
        var response:XML = new XML(e.target.data);
        Alert.show(response)
}

和PHP:

<?php

    echo '<?xml version="1.0" encoding="utf-8"?>
    <result>result:'.$_POST['username'].'</result>
';

?>

这就是我得到的全部

enter image description here

(问题是,使用PHP我无法读取POST数据......或者它们不能发送):


解决问题的任何一点都是贬值的。

3 个答案:

答案 0 :(得分:0)

尝试将URLLoader.dataFormat设置为TEXT

urlLoader.dataFormat = URLLoaderDataFormat.TEXT;

也不确定是否重要,但尝试将网址设置为login.php。

除此之外,您的代码似乎是正确的。

答案 1 :(得分:0)

尝试使用

查看所有数据
dump($varName)

答案 2 :(得分:0)

更改了此行

var request:URLRequest = new URLRequest(config.domain+'/oms/request/user/login');

到这个

var request:URLRequest = new URLRequest(config.domain+'/oms/request/user/login/index.php');

它有效......