【发布时间】:2009-12-17 12:37:03
【问题描述】:
全部,
我试图明确地找出 Flash/AS2 对 XML.sendAndLoad 使用什么方法(GET 或 POST)。
以下是帮助/文档 (http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002340.html) 关于函数的说明
将指定的 XML 对象编码为 XML 文档,将其发送到 使用 POST 方法指定的 URL, 下载服务器的响应,并且 将其加载到 resultXMLobject 在参数中指定。
但是,我使用这种方法将 XML 数据发送到由另一个开发团队开发和维护的 Java Servlet。他们看到的日志条目如下所示:
GET /portal/delegate/[someService]?svc=setPayCheckInfo&XMLStr=[an encoded version of the XML I send]
在 Google 搜索以找出为什么 POST 在他们的日志中显示为 GET 后,我发现了这个 Adobe 技术说明 (http://kb2.adobe.com/cps/159/tn_15908.html)。它是这样说的:
当 loadVariables 或 getURL 操作被 用于向 Java servlet 发送数据 可以显示正在发送数据 使用 GET 请求,当 POST 方法在 Flash 中指定 电影。
发生这种情况是因为 Flash 发送 GET/POST 混合格式的数据。如果 正在使用 GET 发送数据 请求,变量将出现在 附加到末尾的查询字符串 网址。 Flash 使用 GET 服务器 请求,但名称/值对 包含变量的发送 使用 POST 进行第二次传输。 虽然这会导致 servlet 触发 doGet() 方法, 变量仍然可用 服务器请求。
我真的不明白。什么是“GET/POST 混合格式”?
为什么 Flash 使用的方法(POST 或 GET)取决于数据是发送到 Java servlet 还是其他地方(例如 PHP 页面?)
任何人都可以理解这一点吗?非常感谢!
干杯, 马特
【问题讨论】:
标签: java flash actionscript servlets