六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 38|回复: 0

ajax客户端js向服务器端发送http请求代码

[复制链接]

升级  46%

98

主题

98

主题

98

主题

举人

Rank: 3Rank: 3

积分
338
 楼主| 发表于 2013-1-29 10:38:13 | 显示全部楼层 |阅读模式
function createXmlObj(){
  var signatures = ["Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","Msxml2.DOMDocument","Microsoft.XmlDom"];
  for(var i = 0;i<signatures.length;i++){
   try{
    var xmlDom = new ActiveXObject(signatures[i]);
   }catch(e){
    //忽略错误,继续测试下一个版本
   }
  }

  return xmlDom.xml;
}

/*
创建XMLHttpRequest请求对象
*/
function createXMLhttp(){
  var xmlhttp;
  try{
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }catch(e){
   try{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   }catch(e){
    try{
     xmlhttp = new XMLHttpRequest();
    }catch(e){}
   }
  }
  return xmlhttp;
}

function sendInfor(){

var XmlObj = createXmlObj();
//alert(XmlObj);
//根据不同的浏览器创建不同的XMLHttpRequest对象
var xmlhttp = createXMLhttp();

//alert(url);
//创建一个请求

xmlhttp.open("post",url,false);

//设置请求的HTTP头
//xmlhttp.setRequestHeader("Content-Type"," application/utf-8 ");   
     xmlhttp.setRequestHeader("Content-Type","text/xml;charset=UTF-8");                  
     xmlhttp.onreadystatechange=function(){
     if (xmlhttp.readyState==4){
          //alert("发送成功!");
     }
    }   
    //发送请求
    xmlhttp.send(XmlObj);
    var aa = xmlhttp.ResponseText;//得到后台传递过来的text文本信息
//var test =xmlhttp.responseStream;//得到后台传递过来的输入流信息--一般不用
//alert(aa);
//把后台传递过来的信息aa用js放到页面中指定的位置
}

后台处理程序是一个servlet,在该servlet中把处理后的结果用out.print()方法输出来就可以在前台用javascript用xmlhttp.ResponseText等方法接收到。

在前台还可以把前台页面中的信息拼装成一个xml文件放到XmlObj中发送到后台的servlet,此时后台的处理程序可以获取该xml文件流然后把这个文件流转换成dom对象在解析该xml文件,此时后台程序就可以根据前端传递不同的信息进行不同的操作了。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表