我有一个 Adobe Flex Web 应用程序,我们正在将其转换为 Adobe AIR 应用程序。在服务器端,我有一个只接受 HTTP POST 请求的 servlet。我们使用navigateToUrl()
该 POST 请求的结果打开网页。在 Web 应用程序中,这可以完美运行(使用请求结果打开一个新选项卡),但它在 Adobe 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
我正在使用 Adobe Air 3.3 和 Flex SDK 4.5