0

我正在尝试使用通过 xmlhttprequest 响应发送的 xml 文档从 Web 服务器(使用 javascript)打开浏览器窗口。该应用程序使用 javascript,因此这里没有使用 java 1.5。xmlhttp 帖子的代码是这样的:

String strSoap = "<?xml version='1.0' encoding='utf-8'?>" +
"<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'      xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>" +
"<soap:Body>" +
xml_body
"</soap:Body>" +
"</soap:Envelope>";    

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
connection.setRequestProperty("SoapAction", some_action);
connection.setRequestProperty("Man", "POST url HTTP/1.1");
connection.setDoInput(true); 
connection.setDoOutput(true); 
connection.setAllowUserInteraction(true);
connection.setFollowRedirects(true);
java.io.DataOutputStream printout = new java.io.DataOutputStream (connection.getOutputStream());
printout.writeBytes(strSoap);
printout.flush();
printout.close();
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(connection.getInputStream()));

另一个可能性是从客户端发出 xmlhttprequest,哪个是更好的选择?

4

1 回答 1

0

从客户端发出 xmlhttprequest。收到回复后,打开一个新窗口 ( window.open())。

使用客户端 JavaScript,您可以从原始窗口获取响应并在新窗口中打印出来。

例如,假设 JavaScript 变量myXml包含对原始窗口中的 xmlhttprequest 的文本响应,那么document.write(window.opener.myXml)在新窗口中执行将在那里写入响应。

于 2012-10-23T23:31:38.260 回答