AS3 AIR URLLoader POST

时间:2013-02-21 21:42:28

标签: actionscript-3 actionscript air

我正在开发我的第一个AIR应用程序(从PHP / Javascript转移),我正处于一个阶段,我想将应用程序中的一些数据发送回我服务器上的PHP脚本。我有以下内容:

var url:String = "PHP URL HERE";
var request:URLRequest = new URLRequest(url);

var requestVars:URLVariables = new URLVariables();
requestVars.test = "1234";

request.data = requestVars;
request.method = URLRequestMethod.POST;
request.contentType = "application/xml;charset=utf-8";

var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.addEventListener(Event.COMPLETE, processSERPS, false, 0, true);
urlLoader.load(request);

我最初在服务器端PHP脚本中确实有其他东西但是为了调试我只是将其更改为转储REQUEST数组。

使用上面的代码,它只会返回任何内容:

Array
(
)

但是如果我将请求方法更改为Get:

request.method = URLRequestMethod.GET;

我收到:

Array
(
    [test] => 1234
)

这告诉我代码是正确的,它只是因为某种原因没有发送帖子参数。

我只是改变代码以使用GET变量,但遗憾的是我需要发送的数据太大,因此需要POST。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:3)

URLRequest.contentType

  

如果data属性的值是URLVariables对象,则为该值   contentType必须是application / x-www-form-urlencoded。

这是默认值,因此只需删除作业即可。