【发布时间】:2010-11-01 16:08:00
【问题描述】:
您好,我使用 flash navigateToURL 方法调用 Java servlet。
在某些情况下,我希望 servlet 告诉浏览器客户端保持在同一页面上 - 我该如何实现?如果响应为空,则页面变为空白。
【问题讨论】:
您好,我使用 flash navigateToURL 方法调用 Java servlet。
在某些情况下,我希望 servlet 告诉浏览器客户端保持在同一页面上 - 我该如何实现?如果响应为空,则页面变为空白。
【问题讨论】:
我认为您使用了错误的方法来访问 java servlet。如果您需要保持同一个页面打开,navigateToURL 不是您应该使用的。 navigateToURL 方法按照文档:
在包含 Flash Player 容器(通常是浏览器)的应用程序中打开或替换一个窗口。在 Adobe AIR 中,该函数在默认系统 Web 浏览器中打开一个 URL
你可以使用
查看链接了解更多详情。
【讨论】:
你不能。 navigateToURL 指示浏览器打开另一个 URL。内容是在浏览器导航更改后获取的。
您应该在 flex 应用程序中发出 HTTP 请求。可以这样做:
var req:URLRequest = new URLRequest();
req.method = URLRequestMethod.POST;
var vars:URLVariables = new URLVariables();
vars.param1 = "param1";
vars.param2 = "param2";
req.data = vars;
req.url = "/targetUrl";
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, pageLoadComplete);
loader.load(req);
然后在pageLoadComplete(event:Event)方法中:
var result:String = URLLoader(event.currentTarget).data.toString();
建议对仅返回 true 或 false 的 URL 进行此类调用,具体取决于您是否需要重定向。
【讨论】: