全部,AS2:xml.sendAndLoad是否使用POST或GET?
我试图找出明确的方法(GET或POST)Flash/AS2使用XML.sendAndLoad。
这里是帮助/文档(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]
谷歌搜索后,要弄清楚为什么POST显示为在其日志中的GET,我发现这个的Adobe技术说明(http://kb2.adobe.com/cps/159/tn_15908.html)。下面是这样说的:
当的loadVariables或getURL操作的 用于将数据发送到Java servlet时,它就当指定了POST 方法 会出现数据被发送 使用GET请求, Flash 电影。
发生这种情况是因为Flash以GET/POST混合格式发送 数据。如果 的数据是使用GET 请求发送的,则这些变量将出现在 附加的查询字符串末尾的 的URL中。 Flash使用GET服务器 请求,但包含变量的名称/值对 使用POST在 第二次传输中发送。 虽然这会导致servlet到 触发doGet()方法,但 变量在 服务器请求中仍可用。
我真的不明白这一点。什么是“GET/POST混合格式”?
为什么方法Flash使用(POST或GET)依赖于数据是否被发送到一个Java servlet或其他地方(例如,一个PHP页面?)
任何人都可以理解这一点?提前谢谢了!
干杯, 马特
“混合格式”其实很常见,我一直认为它是完全有效的。所以恐怕我不同意有一个约定。例如,具有查询参数和服务器表单的.NET页面在回发时的功能相同。 – Skrim 2009-12-17 13:40:55
(是的,我知道使用.NET给出一个标准的例子的讽刺:) :) – Skrim 2009-12-17 13:41:55
我敢打赌你说的是POST,而不是GET。在POST中包含查询参数是很常见的。这仍然是一个POST,没有什么混合。 – 2009-12-17 15:37:17