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

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 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文件,此时后台程序就可以根据前端传递不同的信息进行不同的操作了。

你可能感兴趣的:(Ajax,浏览器,Servlet,XML,Microsoft)