Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AS2:xml.sendAndLoad是否使用POST或GET?_Java_Flash_Actionscript_Servlets - Fatal编程技术网

Java AS2:xml.sendAndLoad是否使用POST或GET?

Java AS2:xml.sendAndLoad是否使用POST或GET?,java,flash,actionscript,servlets,Java,Flash,Actionscript,Servlets,全部, 我试图毫不含糊地找出Flash/AS2对XML.sendAndLoad使用的方法(GET或POST) 下面是help/docs()对函数的说明 将指定的XML对象编码为 一个XML文档,将其发送到 使用POST方法指定的URL, 下载服务器的响应,然后 将其加载到resultXMLobject中 在参数中指定 但是,我使用这个方法将XML数据发送到另一个开发团队开发和维护的Javaservlet。他们看到的日志条目如下所示: GET /portal/delegate/[someServi

全部,

我试图毫不含糊地找出Flash/AS2对XML.sendAndLoad使用的方法(GET或POST)

下面是help/docs()对函数的说明

将指定的XML对象编码为 一个XML文档,将其发送到 使用POST方法指定的URL, 下载服务器的响应,然后 将其加载到resultXMLobject中 在参数中指定

但是,我使用这个方法将XML数据发送到另一个开发团队开发和维护的Javaservlet。他们看到的日志条目如下所示:

GET /portal/delegate/[someService]?svc=setPayCheckInfo&XMLStr=[an encoded version of the XML I send]
通过谷歌搜索,我找到了这个Adobe technote()。它是这样说的:

加载变量或getURL操作时 用于将数据发送到Java servlets it 可能显示正在发送数据 使用GET请求时 方法已在Flash中指定 电影

这是因为Flash发送 GET/POST混合格式的数据。如果 正在使用GET发送数据 请求时,变量将显示在 附加到查询末尾的查询字符串 URL。Flash使用GET服务器 请求,但名称/值对 包含变量的文件以 第二次传输使用后。 尽管这会导致servlet 触发doGet()方法 变量仍然可以在 服务器请求

我真的不明白。什么是“获取/发布混合格式”

为什么Flash使用的方法(POST或GET)取决于数据是发送到Javaservlet还是其他地方(例如PHP页面?)

有人能理解这一点吗?非常感谢

干杯,
马特

你试过这样做吗:

var sendVar=new LoadVars();
var xml=new XML("<r>test</r>");
sendVar.xml=xml;
sendVar.svc="setPayCheckInfo";

var receiveXML=new XML();
function onLoad(success) {
    if (success) {
        trace("receive:"+receiveXML);
    } else {
        trace('error');
    }
}
receiveXML.onLoad=onLoad;
sendVar.sendAndLoad("http://mywebserver", receiveXML, "POST");
var sendVar=newloadvars();
var xml=新的xml(“测试”);
xml=xml;
sendVar.svc=“setPayCheckInfo”;
var receiveXML=new XML();
函数加载(成功){
如果(成功){
跟踪(“接收:+receiveXML”);
}否则{
跟踪(“错误”);
}
}
receiveXML.onLoad=onLoad;
sendVar.sendAndLoad(“http://mywebserver,receiveXML,“POST”);

您是否尝试过这样做:

var sendVar=new LoadVars();
var xml=new XML("<r>test</r>");
sendVar.xml=xml;
sendVar.svc="setPayCheckInfo";

var receiveXML=new XML();
function onLoad(success) {
    if (success) {
        trace("receive:"+receiveXML);
    } else {
        trace('error');
    }
}
receiveXML.onLoad=onLoad;
sendVar.sendAndLoad("http://mywebserver", receiveXML, "POST");
var sendVar=newloadvars();
var xml=新的xml(“测试”);
xml=xml;
sendVar.svc=“setPayCheckInfo”;
var receiveXML=new XML();
函数加载(成功){
如果(成功){
跟踪(“接收:+receiveXML”);
}否则{
跟踪(“错误”);
}
}
receiveXML.onLoad=onLoad;
sendVar.sendAndLoad(“http://mywebserver,receiveXML,“POST”);

混合格式只是一个术语,Macromedia是为了掩盖其对HTTP的滥用而发明的

HTTP对于GET和POST的功能非常模糊。但是约定是GET中不使用消息体。Adobe在消息体中发送参数违反了此约定


Flash发送相同的请求,而不考虑服务器。您在Servlet中遇到了问题,因为大多数实现(如Tomcat)都会忽略GET的消息体。PHP不在乎动词,它也处理GET的消息体。

混合格式只是一个术语,Macromedia被发明用来掩饰它对HTTP的滥用

HTTP对于GET和POST的功能非常模糊。但是约定是GET中不使用消息体。Adobe在消息体中发送参数违反了此约定


Flash发送相同的请求,而不考虑服务器。您在Servlet中遇到了问题,因为大多数实现(如Tomcat)都会忽略GET的消息体。PHP不关心动词,它也处理GET的消息体。

混合格式实际上非常常见,我一直认为它完全有效。因此,恐怕我不同意召开会议。例如,带有查询参数和服务器表单的.NET页面在回发时也会这样做。(是的,我知道给出一个使用.NET的标准示例有点讽刺。)我打赌你说的是一篇文章,而不是GET。在POST中包含查询参数是很常见的。这仍然是一篇文章,没有什么混合的。混合格式实际上很常见,我一直认为它是完全有效的。因此,恐怕我不同意召开会议。例如,带有查询参数和服务器表单的.NET页面在回发时也会这样做。(是的,我知道给出一个使用.NET的标准示例有点讽刺。)我打赌你说的是一篇文章,而不是GET。在POST中包含查询参数是很常见的。那仍然是一篇文章,没有什么混杂的。