3

我正在开发我的第一个 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。

任何帮助表示赞赏!

4

1 回答 1

3

对于URLRequest.contentType

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

这是默认值,因此只需删除您的分配即可。

于 2013-02-21T23:34:55.647 回答