jsp的 MSXML2.ServerXMLHTTP对象,xml形式传输 跨域

Run佳 发布于 2011/02/12 13:52
阅读 879
收藏 1

set Https=server.createobject("MSXML2.ServerXMLHTTP")
Https.setTimeouts 20000,20000,20000,20000
Https.open "POST","http://www.xxxx.com",false
Https.send "<?xml version='1.0' ?><items><key>12345678</key></items>"

 

上面为asp的代码,意思就是向一个地址发送xml文件,然后再返回一个xml形式的文件,现在改用jsp开发,有没有成熟的例子

现在是有一个这样的问题,

我已经用如下js脚本形式方式已经实现了,但是放到IIS、Tomcat容器中就不能正常运行,就发送不了xml文件,也接收不到

不知道什么原因,到网上也查了,我也想到跨域的问题,可以我也从网上找了个代理类,还是不行。现在就是想问一下,jsp发服务器发送一个xml形式的文件,然后再接收一个xml文件的形式,除了用js创建XMLHTTP对象以外,还有什么方式能更好的解决这个问题。各位帮帮忙,已经困扰我一个多月了......

function createXMLHttpRequest(){
   if(window.XMLHttpRequest){ //如果是Mozilla浏览器
    xmlHttp=new XMLHttpRequest();
   }
   else if(window.ActiveXObject){
    try{
     xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
     try{
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
     }catch(e){}
    }
   }
  }

function textV(){
   //alert("测试");
   //创建XMLHttpRequest对象
   createXMLHttpRequest();
   //创建请求字符串,加盟店用户名是否存在
   var url="http://www.xxxx.com";
 var str="<?xml version='1.0' ?><items><key>12345678</key></items>";

   //alert("名称");
   //指定响应函数
   xmlHttp.onreadystatechange=handleResponse;
   alert("444444444");
   //建立对服务器的调用,指定以get方式发送url,true 表示以异步方式发送
   xmlHttp.open("post",url,true);
   //发送请求,参数为发送的请求体,因为是Get请求,所以没有请求体
   xmlHttp.send(str);
  } 
 
  //处理返回的结果
  function handleResponse(){
   //alert("4进来了");
   if(xmlHttp.readyState==4){
    if(xmlHttp.status==200)
    {

     var ret=xmlHttp.responseText;
     alert(ret);
    }
   }
  }
 

加载中
0
Run佳
Run佳

如下代码,用JQuery也作了测试,与上面一样的问题,本地可以运行,可以发送xml文件,也可以接收到。

但放到IIS、Tomcat里面就不能运行。不知道为什么

 function getDat(){
  var str="<?xml version='1.0' ?><items><key>12345678</key></items>";
  return str;
 }
 function getKey(){
  var url="http://www.xxxx.com";

  $.ajax({
   type: "post",
   data: getDat(),
   url: url,
   dataType:"text/plain",
   success: function(data){
    alert(data);
   }
  });     
 }

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部