1

我有一个 Adob​​e Flex Web 应用程序,我们正在将其转换为 Adob​​e AIR 应用程序。在服务器端,我有一个只接受 HTTP POST 请求的 servlet。我们使用navigateToUrl()该 POST 请求的结果打开网页。在 Web 应用程序中,这可以完美运行(使用请求结果打开一个新选项卡),但它在 Adob​​e AIR 客户端中无法使用,使用完全相同的代码。HTTP POST被转换为servlet 不接受的 HTTP GET 。网络浏览器显示:

HTTP Status 405 - Request method 'GET' not supported.

这是提出请求的方式:

var request:URLRequest = new URLRequest();
request.method = URLRequestMethod.POST;
request.url = presentationModel.exportURL;

exportURL变量是一个字符串,看起来像http://ipaddress:8080/myapp/export/eventhistory1339595975131.html

我检查了这个论坛帖子,但那里给出的解决方案(用const字符串本身替换指向字符串的 a )没有意义,并且在我尝试时不起作用。

我也看过这个问题,但那里没有真正的答案。评论表明用户在他的 URL 中添加了一个斜杠以使其工作,但在我的情况下这不起作用,因为 url 的形式是: http://ipaddress:8080/myapp/export/eventhistory1339595975131.html

我正在使用 Adob​​e Air 3.3 和 Flex SDK 4.5

4

1 回答 1

1

查看似乎将请求转换为的方法的文档navigateToURLPOSTGET

参数

request:URLRequest — 一个 URLRequest 对象,它指定要导航到的 URL。对于在 Adob​​e AIR 中运行的内容,当使用 navigateToURL() 函数时,运行时将使用 POST 方法(其方法属性设置为 URLRequestMethod.POST)的 URLRequest 视为使用 GET 方法。

也许使用URLLoader代替?

于 2012-06-14T13:11:53.240 回答