javascript中的数组,通过xmlhttp方式,以xml传给servlet,servlet接收数据

大哥们,请教下,javascript中的数组,通过xmlhttp方式,以xml传给servlet,servlet接收数据
最新回答
你是我的小小星晨★

2024-10-13 07:58:49

貌似xmlhttp把数据传到后台只有两种方式,GET和POST。只有后台响应完成后把数据再传回前台时可以用xml格式。GET方式只是纯文本格式(?tag1=val1&tag2=val2),POST方式相当于表单提交,可以有不同格式的数据,甚至可以上传文件。
追问
能举个简单的例子么???
我好依葫芦画瓢
追答
一个简单的xmlhttp传递数据的函数

/*
* url : 你后台接收该数据的servlet的调用路径,比如servlet/test
* method : POST/GET
* xml : 要传递的数据,形式为字符串,当然你可以传递类似XML格式的字符串,例如
* "guest12345"
*/
function sendData(url,method,xml){
var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null);
if(xmlhttp){
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Length",xml.length);
xmlhttp.setRequestHeader("CONTENT-TYPE","text/xml;charset=UTF-8");
xmlhttp.onreadystatechange = function(){
if(this.readyState==4){
alert(xmlhttp.responseText);
//或者可以传回XML数据,在此解析responseXML
}
}
xmlhttp.send(xml);
}else{
alert('cannot create xmlhttprequest!');
return false;
}
}

//调用方法
sendData('servlet/test','POST','guest12345');
//你也可以通过一个自定函数处理要传递的xml数据,最终生成一个xml形式的字符串,作为sendData方法的参数

最好的办法是使用现有的AJAX框架,比如jQuery库