来自 Adobe air 的 Http POST 无法正常工作



我有一个Adobe Flex Web应用程序,我们正在将其转换为Adobe AIR应用程序。在服务器端,我有一个只接受HTTP POST请求的servlet。我们使用navigateToUrl()打开包含该 POST 请求结果的网页。在 Web 应用程序中,这运行良好(打开一个新选项卡并显示请求的结果),但它无法使用完全相同的代码从 Adobe AIR 客户端工作。HTTP POST 被转换为 HTTP GET,而 SERVLET 不接受该 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)没有意义,并且在我尝试时不起作用。

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

我正在使用 Adobe Air 3.3 和 Flex SDK 4.5

查看navigateToURL方法的文档,它似乎将POST请求转换为GET

参数

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

也许使用 URLLoader 代替?

最新更新